Visualizzazione risultati 1 fino 6 di 6

Discussione: unlink, cosa succede?

  1. #1
    Guest

    Predefinito

    ho trovato un'esempio per uploadare file, un estratto è:
    //directory to upload to
    copy($file, $uploaddir.$file_name);
    unlink($file);

    dove $file è ricavato da un form e corrisponde al campo file:
    <input type="file" name="file" value="">

    Mi chiedo: una volta copiato il file dal computer dell'utente al mio sito su altervista, a cosa serve unlink?

    ancora una cosa: $file_name è una variabile qualsiasi impostata dallo scripter o corrisponde a un iterazione specifica con il form?

  2. #2
    Guest

    Predefinito

    unlink, serve a cancellare il file, mentre la sintassi di copy è:

    copy (nome_file_sorgente, nome_file_destinazione)


  3. #3
    Guest

    Predefinito

    La variabile $file_name viene creata dal php quando register_globals è su ON. Questa contiene il nome del file che l'utente ha caricato tramite il form (solo il nome del file+estensione senza il path).
    Al posto di $file_name però ti conviene utilizzare l'array $_FILES che è disponibile dalla versione 4.1.0 (almeno credo) oppure l'array $HTTP_POST_FILES disponibile dalle versioni precedenti. Questo array però non è superglobale quindi se lo usi dentro una funzione lo devi dichiarare in questo modo
    GLOBAL $HTTP_POST_FILES;

    Per ottenere le info sul file utilizzando uno di questi due array devi considerare le seguenti componenti:

    nome del file
    $_FILES[file][name] //che corrisponde a $file_name

    dimensione del file
    $_FILES[file][size] //che corrisponde a $file_size

    nome del file temporaneo caricato sul server
    $_FILES[file][tmp_name] //che dovrebbe essere $file_tmp_name

    Sciao

  4. #4
    Guest

    Predefinito

    grazie a entrambi :) , ma ancora 2 domande:
    1)ma lo script cancella il file nel computer di chi esegue l'upload?
    2)esiste da qualche parte una guida con magari elencate tutte queste funzioni globali?

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da wanttobefree
    grazie a entrambi :) , ma ancora 2 domande:
    1)ma lo script cancella il file nel computer di chi esegue l'upload?
    2)esiste da qualche parte una guida con magari elencate tutte queste funzioni globali?
    Uno script su un server remoto non può cancellare un file in locale. L'istruzione unlink fa parte del procedimento di upload:
    Quando un utente vuole fare l'upload di un file tramite un form, ne inserisce il nome nella <input> di tipo file del form.
    Dopo aver cliccato su submit, il file viene caricato in una directory temporanea con un nome "casuale" (quello contenuto nella variabile $file).
    Poi l'istruzione copy lo sposta dalla directory temporanea nella directory di destinazione e la funzione unlink seguente elimina il file dalla directory temporanea.

    ...ehm...spero di non aver fatto un casino...

    Una guida la puoi trovare anche su php.net alla voce file upload

    Sciao

  6. #6
    Guest

    Predefinito

    ok è tutto chiaro! grazie!! :D

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •