Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [PHP] resize immagini

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53

    [PHP] resize immagini

    Ciao a tutti, chi è l'anima buona che mi trova l'errore in questo scriptino di resize delle immagini? Prima di questo ho il codice che mi fa l'upload e le immagini vengono uploadate bene nella cartella $fold_immagini, mentre dopo ho una porzione di codice che mi scrive sul DB.
    Non ho errori bloccanti dato che la scrittura sul DB avviene correttamente, ma la thumb non ne vuole sapere di farla.



    //ridimensiono
    $imm_grande=imagecreatefromjpeg($fold_immagini.$fi le_name1);
    $imm_grande_h=imagesy($imm_grande);
    $imm_grande_w=imagesx($imm_grande);
    $thumb_w=100;
    $thumb_h=floor($imm_grande_h/($imm_grande_w/$thumb_w));
    $thumb=imagecreatetruecolor($thumb_w,$thumb_h);
    imagecopyresampled($thumb,$imm_grande,0,0,0,0,$thu mb_w,$thumb_h,$imm_grande_w,$imm_grande_h);
    header("Content-type: image/jpeg");
    imagejpeg($thumb,$fold_immaginismall.$file_name1);
    imagedestroy($thumb);
    imagedestroy($imm_grande);

    (errori no me ne risultano dato che passo i dati da flash)

    NOn mi sembra sia sbagliato, è forse un problema di percorsi?

    thank's a tutti
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

  2. #2
    Boh non so che dirti
    Prova ad andare QUA se scrolli un pò in fondo c'è un esempio per ridimensionare le immagini in molte meno righe del tuo codice, di più non so che dirti!!

    Ciaooo!
    PER CASO ti serve un guestbook, completamente personalizzabile?e PER CASO lo vuoi anche gratis e senza pop-up o dialer?E allora prova il nuovo NewAge GuestBook..Niente per caso, tutto perfetto

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53
    up
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Se la salvi invece di dare l'output a video la salva?

    Se usi firefox è facile che non vedi la thumb.. non so perchè ma a video non va, io riesco a visualizzarla solo con explorer.
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53
    Non ci cavavo un ragno dal buco e allora ho fatto un form in html che simula l'upload da flash e ho avuto un risultato raccapricciante VVoVe:

    Sul server viene salvata l'immagine, ma lui non la vede, infatti mi da quest'errore:
    Warning: imagecreatefromjpeg(console/upload/immagini/111111_levrone_0007.jpg): failed to open stream: No such file or directory in
    Può essere un problema di tempistiche? nel senso..magari prova a ridimensionare l'immagine prima che termini l'upload? c'è un modo per far riconoscere a php che l'upload sia già terminato?
    sono fuori strada? :master:
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Vedi se caricandola c'è qualche problema stampando $_FILES['nomedelcampo']['error']

    Questi sono i possibili valori.

    UPLOAD_ERR_OK
    Valore: 0; Non vi sono errori, l'upload è stato eseguito con successo.

    UPLOAD_ERR_INI_SIZE
    Valore: 1; Il file inviato eccede le dimensioni specificate nel parametro upload_max_filesize di php.ini.

    UPLOAD_ERR_FORM_SIZE
    Valore: 2; Il file inviato eccede le dimensioni specificate nel parametro MAX_FILE_SIZE del form.

    UPLOAD_ERR_PARTIAL
    Valore: 3; Upload eseguito parzialmente.

    UPLOAD_ERR_NO_FILE
    Valore: 4; Nessun file è stato inviato.

    UPLOAD_ERR_NO_TMP_DIR
    Valore: 6; Mancanza della cartella temporanea. Inserito in PHP 4.3.10 e PHP 5.0.3.


    Poi controlla di avere i permessi di scrittura per la cartella dove salvi il file.

    Facci sapere
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53
    Il controllo dell'errore ce l'ho già sull'upload, e mi va a buon fine. Il server lo controllo io come permessi sulle cartelle..quindi li ho tutti e anche di più.
    Come dicevo non trova l'immagine appena uploadata, sebbene faccia il controllo sul percorso ed è giusto. Sviste sintattiche no mi sembra ve ne siano. non ci capisco più una mazza. Ovviamente dopo ho tutta una serie di errori dovuta alla mancanza dell'immagine.
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Ma quindi l'immagine nella cartella c'è solo che non te la recupera??

    Il path è quello completo quando la salvi?

    Voglio dire usi una cosa tipo /var/www/path/to/file?

    Posta anche il resto del codice magari
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    53
    ecco il codice.
    La priam parte fa l'upload e va
    la seconda il ridimensionamento e NON va
    la terza scrive sul DB e va

    l'errore non è quindi bloccante...però NON va

    <?php
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);

    $temp_fold="console/upload/";
    $fold_immagini="console/upload/immagini/";
    $fold_immaginismall="console/upload/immagini/small/";
    $fold_allegati="console/upload/allegati/";

    echo "La directory è: $fold_immagini";

    $NUMERO_RANDOM=$_GET['txtRandom'];
    //$casuale = rand(10, 9999);

    $new_name1 = $NUMERO_RANDOM."_".$_FILES['Filedata']['name'];
    $file_name1 = ($new_name1) ? $new_name1 : $_FILES['Filedata']['name'];
    if(@is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
    @move_uploaded_file($_FILES['Filedata']['tmp_name'], $fold_immagini.$file_name1) or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.

    Codice errore: ".$_FILES['Filedata']['error']."
    ".$_FILES['Filedata']['tmp_name'].".");
    } else {
    die("Problemi nell'upload del file " . $_FILES['Filedata']['name']);
    }
    echo "Sono arrivato alla fine dell'upload";
    //ridimensiono
    echo "percorso::$fold_immagini"."$file_name1";
    $imm_grande=imagecreatefromjpeg("$fold_immagini"." $file_name1");
    $imm_grande_h=imagesy($imm_grande);
    $imm_grande_w=imagesx($imm_grande);
    $thumb_w=100;
    $thumb_h=floor($imm_grande_h/($imm_grande_w/$thumb_w));
    $thumb=imagecreatetruecolor($thumb_w,$thumb_h);
    imagecopyresampled($thumb,$imm_grande,0,0,0,0,$thu mb_w,$thumb_h,$imm_grande_w,$imm_grande_h);
    header("Content-type: image/jpeg");
    imagejpeg($thumb,"$fold_immaginismall"."$file_name 1");
    imagedestroy($thumb);
    imagedestroy($imm_grande);
    //header("Location:upload_insert.asp?numrandom=$NUME RO_RANDOM&nomefile1=$file_name1");
    mysql_select_db($db_name, $db);
    $data_oggi_mysql=date("Y-m-d");
    $TipoUpload=$_GET['upl'];
    if ($TipoUpload=="IMM"){
    $query="insert into foto (IDScheda,NomeFoto) VALUES ('$NUMERO_RANDOM','$file_name1')";
    }else{
    $query="insert into allegati (IDScheda,NomeAllegato) VALUES ('$NUMERO_RANDOM','$file_name1')";
    }


    if (mysql_query($query, $db)){
    echo "L'articolo è stato inserito correttamente";}
    else{
    echo "Erorre durante l'inserimento";}
    mysql_close($db);

    ?>
    _______________________________
    ...Ma perchè non ho continuato a fare il dj nei villaggi turistici?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Originariamente inviato da crisscb
    ecco il codice.
    La priam parte fa l'upload e va
    la seconda il ridimensionamento e NON va
    la terza scrive sul DB e va

    l'errore non è quindi bloccante...però NON va

    <?php
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);

    $temp_fold="console/upload/";
    $fold_immagini="console/upload/immagini/";
    $fold_immaginismall="console/upload/immagini/small/";
    $fold_allegati="console/upload/allegati/";

    echo "La directory è: $fold_immagini";

    $NUMERO_RANDOM=$_GET['txtRandom'];
    //$casuale = rand(10, 9999);

    $new_name1 = $NUMERO_RANDOM."_".$_FILES['Filedata']['name'];
    $file_name1 = ($new_name1) ? $new_name1 : $_FILES['Filedata']['name'];
    if(@is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
    @move_uploaded_file($_FILES['Filedata']['tmp_name'], $fold_immagini.$file_name1) or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.

    Codice errore: ".$_FILES['Filedata']['error']."
    ".$_FILES['Filedata']['tmp_name'].".");
    } else {
    die("Problemi nell'upload del file " . $_FILES['Filedata']['name']);
    }
    echo "Sono arrivato alla fine dell'upload";
    //ridimensiono
    echo "percorso::$fold_immagini"."$file_name1";
    $imm_grande=imagecreatefromjpeg("$fold_immagini"." $file_name1");
    $imm_grande_h=imagesy($imm_grande);
    $imm_grande_w=imagesx($imm_grande);
    $thumb_w=100;
    $thumb_h=floor($imm_grande_h/($imm_grande_w/$thumb_w));
    $thumb=imagecreatetruecolor($thumb_w,$thumb_h);
    imagecopyresampled($thumb,$imm_grande,0,0,0,0,$thu mb_w,$thumb_h,$imm_grande_w,$imm_grande_h);
    header("Content-type: image/jpeg");
    imagejpeg($thumb,"$fold_immaginismall"."$file_name 1");
    imagedestroy($thumb);
    imagedestroy($imm_grande);
    //header("Location:upload_insert.asp?numrandom=$NUME RO_RANDOM&nomefile1=$file_name1");
    mysql_select_db($db_name, $db);
    $data_oggi_mysql=date("Y-m-d");
    $TipoUpload=$_GET['upl'];
    if ($TipoUpload=="IMM"){
    $query="insert into foto (IDScheda,NomeFoto) VALUES ('$NUMERO_RANDOM','$file_name1')";
    }else{
    $query="insert into allegati (IDScheda,NomeAllegato) VALUES ('$NUMERO_RANDOM','$file_name1')";
    }


    if (mysql_query($query, $db)){
    echo "L'articolo è stato inserito correttamente";}
    else{
    echo "Erorre durante l'inserimento";}
    mysql_close($db);

    ?>
    Fai sta prova:

    codice:
    $temp_fold=$_SERVER['DOCUMENT_ROOT']."/console/upload/";
    $fold_immagini=$_SERVER['DOCUMENT_ROOT']."/console/upload/immagini/";
    $fold_immaginismall=$_SERVER['DOCUMENT_ROOT']."/console/upload/immagini/small/";
    $fold_allegati=$_SERVER['DOCUMENT_ROOT']."/console/upload/allegati/";
    $_SERVER['DOCUMENT_ROOT'] ti da il percorso completo del filesystem sul tuo server.

    Metti che sei su Windows e la cartella root del server è in "C:/root" questo sarà il valore di $_SERVER['DOCUMENT_ROOT'].

    Se il tuo sito si trova in C:/root/miosito cmabia quello che ho scritto sopra con

    codice:
    $temp_fold=$_SERVER['DOCUMENT_ROOT']."/miosito/console/upload/";
    $fold_immagini=$_SERVER['DOCUMENT_ROOT']."/miosito/console/upload/immagini/";
    $fold_immaginismall=$_SERVER['DOCUMENT_ROOT']."/miosito/console/upload/immagini/small/";
    $fold_allegati=$_SERVER['DOCUMENT_ROOT']."/miosito/console/upload/allegati/";
    Fammi sapere. In genere è per quello che non copiano i file.

    P.S. move_uploaded_file fa già il controllo is_uploaded_file.. è ridonadante nel tuo caso.
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

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.