Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    indicare/creare directory php

    salve a tutti, ho trovato questo fantastico upload.
    http://www.ajaxf1.com/tutorial/ajax-...-tutorial.html

    però ora vorrei vorrei modificare questo script:
    allora vorrei che una volta caricato l'upload si effettui un controllomi, se è esistente la cartella venga caricato il file in essa, altrimenti careare e caricare il file.
    il nome di questa cartella però lo vorrei far da un campo form chiamato "nome_campo_044"

    codice:
     
    <?php
       // Edit upload location here
       $destination_path = getcwd().DIRECTORY_SEPARATOR;
    
       $result = 0;
       
       $target_path = $destination_path . basename( $_FILES['myfile']['name']);
    
       if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) {
          $result = 1;
       }
       
       sleep(1);
    ?>
    
    <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo $result; ?>);</script>
    però sinceramente non so da dove cominciare.
    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    devi cambiare $destination_path = getcwd().DIRECTORY_SEPARATOR; con la tua cartella... se questo script è richiamato direttamente dal form con il campo "nome_campo_044" allora potresti fare:

    Codice PHP:
    $nomecartella = ((isset($_POST['nome_campo_044']))?($_POST['nome_campo_044']):(false));

    // ...qui dovresti fare dei controlli su $nomecartella
    //   - validità del nome
    //   - assenza di path (ossia non accettare cose come "../../esempio")
    //   - gestire eventuali errori
    //   - "appendere" eventuali path di servizio, p.es.:
    //      $cartellagenerale = 'esempio/';
    //      $nomecartella = $cartellagenerale.$nomecartella;
    // ...

    if (!file_exists($nomecartellamkdir ($nomecartella); // qui dovresti gestire gli errori

    $destination_path $nomecartella;

    $result 0;
    $target_path $destination_path basename$_FILES['myfile']['name']);
    // ... prosegue come prima ... 

  3. #3
    scusami, ma il php lo capisco poco e niente, andiamo per gradi, allora per il controllo

    codice:
    $intDir=$_SERVER['DOCUMENT_ROOT'].'/$nomecartella/';
    if (is_dir($intDir)) {
    echo;
    } else {
    mkdir($intDir, 0777);
    echo;
    }
    giusto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    si... è già qualcosa... però tieni conto che se $nomecartella potrebbe contenere percorsi relativi o caratteri non validi

  5. #5
    scusami poi come dovrei continuare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ma il codice che ti ho messo prima non andava bene?

  7. #7
    in questo modo?
    codice:
    <?php
    
    
    
    
    $nomecartella = ((isset($_POST['nome_campo_044']))?($_POST['nome_campo_044']):(false));
    
    // ...qui dovresti fare dei controlli su $nomecartella
    //   - validità del nome
    //   - assenza di path (ossia non accettare cose come "../../esempio")
    //   - gestire eventuali errori
    //   - "appendere" eventuali path di servizio, p.es.:
    //      $cartellagenerale = 'esempio/';
    //      $nomecartella = $cartellagenerale.$nomecartella;
    // ...
    
    if (!file_exists($nomecartella) mkdir ($nomecartella); // qui dovresti gestire gli errori
    
    $destination_path = $nomecartella;
    
    $result = 0;
    $target_path = $destination_path . basename( $_FILES['myfile']['name']); 
    
       // Edit upload location here
       $destination_path = getcwd().DIRECTORY_SEPARATOR;
    
       $result = 0;
       
       $target_path = $destination_path . basename( $_FILES['myfile']['name']);
    
       if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) {
          $result = 1;
       }
       
       sleep(1);
    ?>

  8. #8
    a parte gli scherzi, mi date una mano?

  9. #9
    questo se non mi sbaglio controlla se la cartella è già esistente
    codice:
     Private Sub Command1_Click()
        Dim strNameFold As String
        Dim FSO As FileSystemObject
        Set FSO = New FileSystemObject
    
        'Controlla se esiste la cartella DATI altrimenti la crea:
            If (FSO.FolderExists(App.Path & "\" & "DATI")) = False Then
                With FSO
                    .CreateFolder (App.Path & "\" & "DATI")
                    .CreateFolder (App.Path & "\" & "DATI\AnagClienti")
                    ' ... ... ...
                  End With
                
                strNameFold = FSO.GetFolder(App.Path & "\" & "DATI")
                MsgBox "La cartella DATI e le relative sottocartelle, sono state" & vbCr _
                & "create con successo in  " & strNameFold & ".", vbInformation, "Applicazioni........"
            End If
    
        Set FSO = Nothing
    End Sub
    chi può darmi una mano per unire il tutto?

  10. #10
    Chi può darmi una mano?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.