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

    prendere solo il nome di un file.

    Mettiamo che io mi sia fatto un uploder...
    Ho la variabile $file che rappresenta il file dato dal form file.
    Ora per uppare il file uso la fuzione copy (); giusto?? cosa devo mettere fra le parentesi??

    Poi io ho questo file uppato, ora voglio che lo script scriva "grazie: hai uppato il file [nome del file]" come faccio a far mettere a php solo il nome del file??

  2. #2

  3. #3
    Aspe non mi e' kiaro... c'e un botto di roba e a me serve solo una cosa:

    nella dichiarazione della variabile coe devo mettere? $_post o $_file??
    e se devo mettere $_file devo fare tutti i casi descritti dall'esempio o solo quelli che mi servono? cosa ci ve nelle parentesi quadre??
    ma sopratutto....


    L'esempio (vi evito di cercarvelo) dice:
    Queste variabili sono:

    $nomefile (il nome temporaneo del file che viene attribuito al file sul server)
    $nomefile_name (il nome originario o il percorso del file sul client)
    $nomefile_size (la grandezza, espressa in bytes, del file)
    $nomefile_type (il MIME type del file, ad esempio application/x-zip-compressed)[...]

    $_FILES["nomefile"]["tmp_name"] (il nome temporaneo del file che viene attribuito al file sul server)
    $_FILES["nomefile"]["name"] (il nome originario o il percorso del file sul client)
    $_FILES["nomefile"]["size"] (la grandezza, espressa in bytes, del file)
    $_FILES["nomefile"]["type"] (il MIME type del file, ad esempio application/x-zip-compressed).

  4. #4
    Il file viene inviato tramite form (in realtà il form serve solo per indicare il percorso). Di regola quindi dovresti usare $_POST (o $_GET se invii i dati tramite questo metodo). Siccome si tratta di un file, però, utilizzi $_FILES.

    Quindi $_FILES memorizza tutti i dati relativi al file caricato nella cartella temporanea del server quando clicchi sul pulsante invio.

    Detto questo, una volta che tu hai cliccato su invio il file viene caricato nella cartella temporanea e php riempie l'array $_FILES in questo modo:

    $_FILES['nome_file1']
    $_FILES['nome_file2']
    ecc...

    Quindi nelle prime due parentesi quadre va inserito il nome del campo del form che utilizzi per l'upload.
    Da qui puoi accedere alle variabili specifiche che sono quelle riportate nell'esempio.

    Ora, per salvare il file devi spostarlo in una cartella che hai creato tu (es: uploads).

    Quindi utilizzi la funzione copy();

    e poi prosegui come descritto dall'articolo.

  5. #5
    Ok grazie... ma nell'esempio non usa copy... cosa devo mettere fra paretesi?? xkè ankeda php.org non si capisce bene

    li dice:
    copy ( string source, string dest )

    allora io metto:
    copy ( $_FILES["sign"] , "/test/set/sets/");

    e' giusto?

  6. #6
    Inoltre:
    la directory dove spostare i files uploadati ($upload_dir, da indicare con il percorso assoluto sul server e i cui permessi vanno settati a 777)


    ke significa?

  7. #7
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    L'articolo che ti è stato segnalato da mircov spiega molto semplicemente i vari passaggi da compiere per effettuare un upload decente... tra l'altro, pur essendo stata usata la funzione move_uploaded_file() al posto di copy(), il procedimento è abbastanza simile. Fatta eccezione per diversi aspetti legati alla sicurezza.

    Ad ogni modo, move_uploaded_file() accetta due parametri: il nome temporaneo del file ed il percorso finale (comprensivo del nome) dove spostarlo.

    Rif: features file upload

    Per i permessi, in questo articolo puoi trovare delle utili informazioni...


  8. #8
    Quello che tu hai postato non è un esempio ma solo una parte di articolo che spiega il significato di ogni variabile. LE cose fra parentesi non sono altro che la spiegazione della variabile.

    Detto questo come già ti ho spiegato quando clicchi sul pulsante invio il file viene caricato in una cartella temporanea del server dal quale va spostato affinchè possa essere utilizzato.

    Per far questo si usano le funzioni copy() e move_uploaded_file().

    Ora copy() accetta come primo parametro il nome del file da spostare (quindi come primo parametro devi mettere $_FILES['nome_campo']['tmp_name']) e come secondo parametro il path della nuova cartella più l'eventuale nuovo nome da dare al file.

    copy($_FILES['nome_campo']['tmp_name'] , $_SERVER["DOCUMENT_ROOT"] . '/uploaded/' . $newName);

    L'altra funzione, che io ti consiglio di usare al posto di copy() è move_uploaded_file() sulla quale, però, non dovrebbero esserci dubbi poichè descritta abbondantemente nel'articolo.

    Ultimo problema: il chmod (mi sembra si scriva così).
    Se sei su linux i permessi (chmod) vanno impostati a 777 che è il codice che indica che i dati nella cartella possono essere letti, modificati e cancellati. Su windows non dovrebbe esserci bisogno di impostare tali permessi.

    Spero che adesso ti sia tutto più chiaro. Ad ogni modo l'articolo su freephp.it è semplice e basta che tu segua passo passo quello che viene fatto (anche se magari non capisci subito cosa succede) per riuscire ad avere uno script funzionante. A quel punto potrai fare tutte le prove che vorrai. Per esempio potresti stampare le varie variabili di $_FILES e vedere cosa c'è dentro specificamente, provare a cambiare i permessi, ecc.
    Ciao!

  9. #9
    Altervista com'e??? Io sono li (da buon pivello!!! )

    Ultima cosa da coglione proprio... la path e' il percorso delle cartelle giusto??

    Edit: Ho provato... il code e' questo:
    Codice PHP:
    $nns $_POST['nns'];
    $nna $_POST['nna'];
    $dir $_SERVER["DOCUMENT_ROOT"] . 'sets/';

    if (
    $vai == true) {
      
    copy ($_FILES['sign']['tmp_name'], $dir $nns);
      
    copy ($_FILES['ava']['tmp_name'], $dir $nna); 
    nna e nns sono i 2 new name.

    Poi...
    Codice PHP:
    echo '[img]sets/'.$_FILES['sign']['name'].'[/img][img]sets/'.$_FILES['ava']['name'].'[/img]' 
    Questo e' l'echo dove richiamo il nome..
    ma non mi speigo xke' continua a non upparmi il file....

  10. #10
    In che senso Altervista com'è?! Se su linux o su win? Se è questa la domanda non so risponderti! Mi dispiace.

    Per il path la risposta è si: è il percorso che dalla root (la cartella principale) porta al target (il file o la cartella che vuoi selezionare).

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 © 2025 vBulletin Solutions, Inc. All rights reserved.