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

    2 info sull'upload di file

    Ciao a tutti,
    ho uno script che mi carica un file immagine in una cartella sul mio server, e funziona perfettamente: devo però fare 2 cose che non mi vengono...

    La prima è settare un massimo di peso della foto di 1000kb

    La seconda invece riguarda il nome del file: il file va rinominato, e io lo rinomino con un numero progressivo $numero. Però così facendo non mi tiene anche l'estensione di partenza (.jpg o .gif)

    Come faccio a fargli rinominare il file e a mantenere però l'estensione originale?

    Esempio:

    $numero: 1000
    nuovo nome file -> 1000.estensione

    Grazie a quanti potranno aiutarmi per una o per tutte e due le cose

    Saluti
    JuzamDjinn

  2. #2
    1) puoi controllare le dimensioni del file tramite $_FILES['file']['size'] in alternativa puoi modificare l'impostazione del php.ini upload_max_filesize

    2) puoi trovare l'estensione del file con substr($_FILES['file']['name'], strrchar($_FILES['file']['name'],'.'));
    Dolcissima è la vita nella totale assenza di senno.

  3. #3
    Originariamente inviato da 69-KaMa-69
    1) puoi controllare le dimensioni del file tramite $_FILES['file']['size'] in alternativa puoi modificare l'impostazione del php.ini upload_max_filesize

    2) puoi trovare l'estensione del file con substr($_FILES['file']['name'], strrchar($_FILES['file']['name'],'.'));

    Ciao e intanto grazie mille!
    Scusa ora l'ignoranza: come li uso quei codici che mi hai scritto?
    Per l'estensione devo fare il controllo sul nome del file da quello che ho capito. Quindi la variabile $estensione come la trovo dal file $file?

    $estensione = ??

    E il peso me lo calcola lui automaticamente in byte? Quindi posso fare un controllo tipo:

    if ($_FILES['file']['size'] < 1000)
    non carica l'immagine
    else
    la carica
    ??

    Scusa queste domande magari stupide, ma non sono molto pratico
    Grazie!
    JuzamDjinn

  4. #4
    forse così è più comprensibile:
    $estensione=substr($file, strrchar($file,'.'));
    $file deve contenere il nome del file originale

    E il peso me lo calcola lui automaticamente in byte?
    Dolcissima è la vita nella totale assenza di senno.

  5. #5
    Mi da questo errore:

    Fatal error: Call to undefined function strrchar()



  6. #6
    errore mio...sostituisci strrchar con strrchr
    Dolcissima è la vita nella totale assenza di senno.

  7. #7
    Ok, ora non mi da quell'errore ma questo:

    Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.

    Sembrerebbe non ci siano i permessi per uploadare il file, ma è una cosa assurda visto che senza quella riga di codice me le carica tranquillamente!!!

    Il codice che ho messo è questo:

    $estensione=substr($upfile, strrchr($upfile,'.'));

    Ho cambiato $file con $upfile perchè è quello il nome del file in origine...

  8. #8
    posta tutto il codice
    Dolcissima è la vita nella totale assenza di senno.

  9. #9
    Ok, ma non ridete

    codice:::::

    // CERCA IL NUMERO PER RINOMINARE L'IMMAGINE
    $fn = "nome_pics.txt";
    if (file_exists($fn))
    {
    /* LEGGE IL VECCHIO NUMERO*/
    $fp = fopen ($fn, "r");
    $nome_pic = fgets ($fp,10);
    fclose($fp);
    }
    /* INCREMENTA IL NUMERO*/
    $nome_pic_new = $nome_pic +1;
    $fp = fopen($fn, "w");
    flock($fp,2);
    fputs($fp, $nome_pic_new);
    flock($fp,3);
    fclose($fp);


    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/upload";

    // Trova l'estensione del file
    $estensione=substr($upfile, strrchr($upfile,'.'));

    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "$nome_pic.$estensione";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

    if(trim($_FILES["upfile"]["name"]) == "") {

    die("Non hai indicato il file da uploadare !");

    }

    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

  10. #10
    la riga
    $estensione=substr($upfile, strrchr($upfile,'.'));
    dovrebbe essere
    $estensione=substr($_FILES["upfile"]["name"], strrchr($_FILES["upfile"]["name"],'.'));

    e la riga
    $new_name = "$nome_pic.$estensione";
    dovrebbe essere
    $new_name = $nome_pic.$estensione;
    Dolcissima è la vita nella totale assenza di senno.

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.