Visualizzazione risultati 1 fino 7 di 7

Discussione: stesso nome per ogni file uplodato

  1. #1
    L'avatar di fantacalciojarno
    fantacalciojarno non è connesso Utente giovane
    Data registrazione
    31-12-2010
    Messaggi
    89

    Predefinito stesso nome per ogni file uplodato

    Ciao a tutti,
    premetto che ne so poco di php,mi sto appena accostando a questo nuovo(per me)linguaggio.Ho trovato uno script che permette di uplodare un immagine che poi verra'visualizzata sulla pagina utente.Ho bisogno di modificare il codice in modo che ogni volta che si carica una nuova immagine prenda sempre lo stesso nome cosi che possa sostituire la vecchia.
    IL FORM è qusto:
    Codice HTML:
    <form ENCTYPE="multipart/form-data" action="upload.php" method="POST">	<input type="file" name="file1">
    	<input type="submit" value="upload">
    </form>
    La pagina in PHP è questa:
    Codice PHP:
    <?
    $dimensione_massima
    =51200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1024;
    $cartella_upload="public/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../public/";
    $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse

    if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
    echo
    "Nessun file selezionato per l'upload";
    }elseif(
    $_FILES['file1']['size']>$dimensione_massima){
    echo
    "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
    }else{
    $nome_file=$_FILES['file1']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>"; }
    }
    if(!
    file_exists($cartella_upload)){
    $errore.="La cartella di destinazione non esiste</br>";
    }
    if(
    $errore==""){
    if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){ chmod($cartella_upload.$_FILES['file1']['allenat'],0777); //permessi per poterci sovrascrivere/scaricare echo "Operazione eseguita con successo. Upload riuscito.";
    }else{
    echo
    "Impossibile effettuare l'upload del file";
    }
    }else{
    echo
    $errore;
    }
    }
    ?>
    Ho smanettato un po nel codice ma non riesco a cavare un ragno dal buco..qualcuno mi puo'aiutare?Grezie in anticipo!
    Ultima modifica di alemoppo : 03-09-2011 alle ore 18.57.52 Motivo: + tag [php] [html]

  2. #2
    Guest

    Predefinito

    Il codice da modificare è questo

    Codice PHP:
    if(move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name']))
    {
    chmod($cartella_upload.$_FILES['file1']['allenat'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "Operazione eseguita con successo. Upload riuscito.";
    }
    credo tu tenti di assegnare il nome qui

    Codice PHP:
    $_FILES['file1']['allenat']
    (che cmq ha è sbagliato poichè non esiste, nell'array $_FILES['file1'] l'elemento 'allenat').

    mentre il nome al file viene asssegnato prima dalla funzione move_uploaded_file.

    Se vuoi chiamare il file col nome 'allenat' sostituisci, il secondo parametro di move_uploaded_file

    Codice PHP:
    $cartella_upload.$_FILES['file1']['name'])
    con

    Codice PHP:
    $cartella_upload."allenat"

  3. #3
    L'avatar di fantacalciojarno
    fantacalciojarno non è connesso Utente giovane
    Data registrazione
    31-12-2010
    Messaggi
    89

    Predefinito

    Grazie Simple...adesso funziona!C ero vicino cmq!!!Ci sarebbe un altro piccolo problemino ma vedo se riesco a risolvere da solo...

    EDIT:



    Invece non riesco..
    Una volta caricata la foto vorrei che la pagina si aggiornasse cosi da visualizzare la nuova foto,credo che vada modificato questo parametro:
    Codice PHP:
    echo "Operazione eseguita con successo. Upload riuscito.";
    Ho provato con :
    Codice PHP:
    echo '<meta http-equiv="refresh" content="5;url=http://www.sito.com/foto.htm">';
    (dove foto.htm è la pagina in cui carico e visualizzo la foto e che vorrei aggiornare)
    e con uno script che in altre occasioni mi era stato molto utile:
    Codice PHP:
    echo "<script>location='foto.htm';</script>";
    Non riesco a capire dove sbaglio...
    Ultima modifica di alemoppo : 03-09-2011 alle ore 18.55.42 Motivo: messaggi consecutivi + tag [php]

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,650

    Predefinito

    Ti ho aggiunto il tag [php]. Con il codice colorato è più facile vederlo: l'echo l'hai commentato, quindi non ti stamperà niente.

    Comunque, invece dell'echo, in questo caso è meglio usare il redirect via php. Quindi invece dell'echo, prova a mettere:

    Codice PHP:
    header('Location: foto.htm');
    Ciao!

  5. #5
    L'avatar di fantacalciojarno
    fantacalciojarno non è connesso Utente giovane
    Data registrazione
    31-12-2010
    Messaggi
    89

    Predefinito

    Avevo provato anche con HEADER il problema è che la foto viene caricata e resto sulla stessa pagina ma non viene aggiornata e quindi visualizzo sempre la stessa foto come se non ci fosse stato nessun REFRESH.
    Se poi aggiorno la pagina manualmente invece visualizzo l'ultima immagine che ho inserito.
    Suggerimenti?

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,650

    Predefinito

    puoi indicare il sorgente corretto?

    Ciao!

  7. #7
    L'avatar di fantacalciojarno
    fantacalciojarno non è connesso Utente giovane
    Data registrazione
    31-12-2010
    Messaggi
    89

    Predefinito

    Nell'esempio ho messo foto.htm come 'sorgente' cioè dove c è il form indicato nel primo messaggio del forum.Dal form si carica l immagine che viene uplodata in una cartella tramite il file php (upload.php) e successivamente visualizzata sempre nella pagina foto.htm
    Praticamente ho bisogno che dopo queste operazioni la pagina venga refreshata!

Regole di scrittura

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