• User

    problema funzione ImageJPEG

    Ciao a tutti,
    spiego prima quello che devo fare, cosi magari se qualcuno ha suggerimenti anche per farlo diversamente sono ben accetti!!!
    In pratica su una community devo memorizzare le foto degli iscritti ma visto che mi servono varie versioni di dimensioni diverse della stessa foto, ho deciso di fare uno script php che al momento del salvataggio della foto crea e salva sul server altre versioni ridimensionate della stessa foto, cosi di averle sempre pronte senza eseguire ogni volta il ridimensionamento.
    Però usando il seguente script mi da un errore:

    //////////////prima creo la cartella dove salvare la foto ridimensionata
    if(!file_exists($_SERVER['DOCUMENT_ROOT']."/utentifoto/Mini")){
    mkdir($_SERVER['DOCUMENT_ROOT']."/utentifoto/Mini", 0777);
    }
    ScalaSalvaImmagine(50,50,100);

    function ScalaSalvaImmagine($larghezza,$altezza,$compressione)
    {

    $nomeimage="prova";
    #creazione preview con GD library
    $new_width=$larghezza; //Larghezza immagine ridimensionata
    $new_height=$altezza; //Altezza immagine ridimensionata
    $compression=$compressione; //Compressione dell'immagine jpg
    $source_path="http://www.xxx.com/utentifoto/"; //Diretory dove si trova il file di cui volgiamo fare la preview
    $destination_path="http://www.xxx.com/utentifoto/Mini/"; //diretory dove vogliamo salvare l'immagine di preview
    list($width_orig, $height_orig, $type, $attr) = getimagesize($source_path.$nomeimage);

    $thumb = imagecreatetruecolor($larghezza, $altezza);
    $source=ImageCreateFromJPEG($source_path.$nomeimage);
    ImageCopyResized($thumb,$source,0,0,0,0,$new_width,$new_height,$width_orig,$height_orig);
    // Salvo l'immagine ridimensionata
    ImageJPEG($thumb,$destination_path.$nomeimage,$compression);
    }

    L ERRORE CHE RISULTA DA QUESTO SCRIPT è:
    imagejpeg() [function.imagejpeg]: Unable to open 'http://www.XXX.com/utentifoto/Mini/prova'for writing in /web/htdocs/www.xxx.com/.....php on line 220

    //dove la riga 220 è:

    ImageJPEG($thumb,$destination_path.$nomeimage,$compression);

    Sembra un problema di permessi ma quando creo la cartella la creo con 777 ma la cosa strana è che se vado a controllare con chmod la cartella Mini risulta con 775 e anche se metto manualmente 777 non salva lo stesso.
    Potrebbe essere che solo l'amministratore del server può fare questa operazione???
    qualcuno può aiutarmi??


  • User Attivo

    perche' usi percorsi assoluti per i files???

    per i permessi, credo tu abbia ragione... non ti e' possibile impostarli a 777 per ragioni di sicurezza...


  • User

    @olaola said:

    perche' usi percorsi assoluti per i files???

    per i permessi, credo tu abbia ragione... non ti e' possibile impostarli a 777 per ragioni di sicurezza...

    Hai ragione ho sostituito i percorsi assoluti con $_SERVER['DOCUMENT_ROOT']..... e adesso funziona!!

    grazie per il consiglio!!

    Ti ho inviato un privato per una richiesta