Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema upload php

  1. #1

    Problema upload php

    salve, ho questo script php per uppare i file:
    Codice PHP:
    <?
    $dimensione_massima
    =1024000//dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
    $dimensione_massima_Kb=$dimensione_massima/1000;
    $cartella_upload="hosted/"//cartella in cui eseguire l'upload (controllare permessi scrittura)
    // percorso cartella relativo $cartella_upload="../";
    $filtrare=1//filtrare x estensioni ammesse? 1=si 0=no
    $array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse
    $new_name "img" time() . "" $ext;
    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 la dimensione massima di [b]$dimensione_massima_Kbkb[/b].";
    }else{
    $nome_file=$_FILES['file1']['name'];
    $errore="";
    if(
    $filtrare==1){
    $estensione strtolower(substr($nome_filestrrpos($nome_file"."), strlen($nome_file)-strrpos($nome_file".")));
    if(!
    in_array($estensione,$array_estensioni_ammesse)){
    $errore.="L'estensione del file scelto per l'upload non è fra quelle ammesse: ".implode(", ",$array_estensioni_ammesse)."
    "
    ;
    }
    }
    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']['name'],0777); //permessi per poterci sovrascrivere/scaricare
    echo "Upload eseguito con successo. La tua immagine è [url]http://www.miosito.com/[/url]$cartella_upload$new_name$estensione";
    }else{
    echo 
    "Impossibile effettuare l'upload del file, riprova.";
    }
    }else{
    echo 
    $errore;
    }
    }
    ?>
    Come potete vedere, la variabile $new_name assegna un nome random all'immagine caricata. Il problema è che realmente, l'immagine non viene rinominata. come faccio?

  2. #2
    Bhe dal codice che ho visto tu non cambi effettivamente il nome all'immagine, infatti la stringa $new_name la usi nella stampa del link ma non effettivamente per modificare il nome dell'immagine.
    Prima di fare il move_uploaded_file dovresti fare

    $_FILES['image']['name']=$new_name

    Ciao
    ----FIREANTOLOGY-----
    Informative system developer

  3. #3
    non ci riesco...mi spiegheresti meglio?

  4. #4
    PRima di questo

    if(move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
    chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi

    aggiungi la riga
    $_FILES['file1']['name']=$new_name;

    e dovrebbe funzionare se non hai fatto altri errori, comunque ti consiglio di provare la cosa il più scarna possibile eliminando controlli e varie cose utilizzando solo le stringhe essenziali per verificare il correto renaming del file... CIAO
    ----FIREANTOLOGY-----
    Informative system developer

  5. #5
    Perfetto, solo che nella riga che hai messo tu mancava l'estensione, ed il file "immagine.gif" diventava "immagine" - comunque ho risolto, ti ringrazio

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.