• User

    Questo script di ridimensionamento è ok?

    Ciao a tutti. Volevo sapere se è giusto dove ho inserito questo script e se così funziona. A me interessa che l'utente inserisca un immagine di qualsiasi dimensione e lui la ridimensioni con una larghezza massima di 550 px.
    Grazie

    [php]$filename = '.$nomefile.'.'.$formato';

    $width = 550;
    $height = 600;

    header('Content-type: image/jpeg');

    list($width_orig, $height_orig) = getimagesize($filename);

    $ratio_orig = $width_orig/$height_orig;

    if ($width/$height > $ratio_orig) {
    $width = $height*$ratio_orig;
    } else {
    $height = $width/$ratio_orig;
    }

    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

    imagejpeg($image_p, null, 100);
    [/php]

    pagina.php
    [php]<?php
    error_reporting(0);
    $dimensionemassimaimmagine='6000000';
    $larghezzamassimaimmagine='3100';
    $altezzamassimaimmagine='2000';

    //testo
    $nomecognome=$_POST["nome_cognome"];
    $stato=$_POST["stato"];
    $localita=$_POST["localita"];
    $data=$_POST["data"];
    $commento=$_POST["commento"];

    if($nomecognome=="")
    {
    echo("
    <p align='left'><font face='Arial' color='#FFCC00' size='3'><b>ERRORE</b></font></p>
    <p align='left'><font face='Arial' size='2' color='#FFCC00'>Devi inserire il tuo nome e cognome.</font></p>
    <p align='left'><font face='Arial' size='2' color='#FFCC00'><a href=java-script:history.back()>Torna indietro</a></font></p>

    ");
    }
    else
    {

    //immagine
    include('connessione.php');
    $result=mysql_query("select max(codice_viaggio)as massimo from viaggi", $conn);
    $row=mysql_fetch_array($result);
    $nomefile=$row["massimo"]+1;
    if ($_FILES["file"]["type"] == "image/gif")
    {
    $formato='gif';
    }

    if ($_FILES["file"]["type"] == "image/jpg")
    {
    $formato='jpg';
    }

    if ($_FILES["file"]["type"] == "image/pjpeg")
    {
    $formato='jpeg';
    }

    $filename = '.$nomefile.'.'.$formato';

    $width = 550;
    $height = 600;

    header('Content-type: image/jpeg');

    list($width_orig, $height_orig) = getimagesize($filename);

    $ratio_orig = $width_orig/$height_orig;

    if ($width/$height > $ratio_orig) {
    $width = $height*$ratio_orig;
    } else {
    $height = $width/$ratio_orig;
    }

    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

    imagejpeg($image_p, null, 100);

    if (($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpg")
    || ($_FILES["file"]["type"] == "image/pjpeg")
    && ($_FILES["file"]<=$dimensionemassimaimmagine)
    && $larghezza<=$larghezzamassimaimmagine && $altezza<=$altezzamassimaimmagine)
    {
    $result=mysql_query("insert into viaggi(codice_viaggio, data_viaggio, nomeCognomeUtente_viaggio, codice_stato, localita_viaggio, commento_viaggio, pubblicato_viaggio, formatoImmagine_viaggio) values ('$nomefile', '$data', '$nomecognome', '$stato', '$localita', '$commento', 'n', '$formato')", $conn);

    copy($_FILES['file']['tmp_name'],'public/immagini_caricate/'.$nomefile.'.'.$formato); 
    echo(" 
    

    <p align='left'><font face='Arial' color='#FFCC00' size='3'><b>IMMAGINE CARICATA CORRETTAMENTE</b></font></p>
    <p align='left'><font face='Arial' size='2' color='#FFCC00'>$nomecognome, la tua foto è stata salvata correttamente.</font></p>
    <p align='left'><font face='Arial' size='2' color='#FFCC00'><a href=java-script:history.back()>Carica una nuova foto</a></font></p>
    ");
    unlink($_FILES['file']['tmp_name']);
    }
    else
    {
    echo("
    <p align='left'><font face='Arial' color='#FFCC00' size='3'><b>ERRORE</b></font></p>
    <p align='left'><font face='Arial' size='2' color='#FFCC00'>$nomecognome, la tua foto non è stata caricata, controlla la dimensione, la lunghezza e l'altezza dell'immagine.</font></p>
    <p align='left'><font face='Arial' size='2' color='#FFCC00'><a href=java-script:history.back()>Torna indietro</a></font></p>
    ");
    }
    }
    ?> [/php]


  • User

    si, no, booo?


  • User

    Non ci credo che nessuno sa darmi una mano...


  • User Attivo

    Ciao gio4colo,

    dicci prima qualcosa tu 😉 hai provato ad usare lo script? Funziona o da' qualche errore?

    Facci sapere!

    :ciauz:


  • User

    A me da una pagina vuota, con grafica ma senza scritte e/o errori e la foto non c'è nell'album


  • User Attivo

    Ok, vediamo un po'..

    Mi sembra che questa definizione
    [PHP]$filename = '.$nomefile.'.'.$formato';[/PHP]
    non vada bene.

    Prova con
    [PHP]$filename = $nomefile.'/'.$formato;[/PHP]

    e fatti stampare la variabile con
    [PHP]echo $filename;[/PHP]


  • User

    Mi stampa
    48/jpeg

    Il chè è giusto, visto che assegna un nome numerico progressivo ad ogni immagine caricata, ma poi sullo stato non c'è..

    Questo è la sezione kumbuka.it/flash.php

    e qui dove si caricano le foto kumbuka.it/caricafoto.php


  • User Attivo

    ma non deve essere 48.jpg?

    quindi la stringa esatta è

    $filename = $nomefile.'.'.$formato;


  • User Attivo

    @Skyline said:

    ma non deve essere 48.jpg?

    quindi la stringa esatta è

    $filename = $nomefile.'.'.$formato;

    Hai ragione, ho fatto un po' di confusione, ma volevo dire questo.
    Ora dovrebbe funzionare.


  • User

    Non ho capito cosa è cambiato dal codice iniziale...


  • User Attivo

    Il tuo codice contiene la sintassi errata
    [php]$filename = '.$nomefile.'.'.$formato'; [/php]mentre la forma corretta e'
    [php]$filename = $nomefile.'.'.$formato;[/php]come vedi son diverse


  • User

    Non va, pagina vuota: nessun errore, nessun messaggio, nessuna foto.