Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problema ImageJPEG

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    47

    problema 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,$compressio ne)

    {

    $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.$nomeimag e);
    ImageCopyResized($thumb,$source,0,0,0,0,$new_width ,$new_height,$width_orig,$height_orig);
    // Salvo l'immagine ridimensionata
    ImageJPEG($thumb,$destination_path.$nomeimage,$com pression);
    }




    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,$com pression);

    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??

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    47
    Nessuno che può aiutarmi?
    Sto anche cercando qualcuno per risolvere questo genere di problemi e ottimizzare vari script php (retribuito).

  3. #3
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    Su che server hai il dominio?
    Windows o Linux?

    io ti consiglio di vedere quest'esempio:
    Codice PHP:
       $dest_hires "../images/artistsphotos/".$imageName."h.jpg";
            
    $dest_lowres "../images/artistsphotos/".$imageName."l.jpg";
            
    $dest_thumbnail "../images/artistsphotos/".$imageName."i.jpg";

            
    /*upload full size image to site - if it is hi res we do not want to manipulate it
            want to leave all qualit in tact.*/
            
    move_uploaded_file($_FILES["fileartimg"]["tmp_name"],"$dest_hires");

            
    $ims getimagesize($dest_hires); //now we have dimensions of original image...
       
            /******creating lower res image******/
            
    $newwidth=ceil($ims[0]/2);//half the width of original file - use ceil() to avoid decimals.
            
    $newheight=ceil($ims[1]/2);//half the height
       
            
    $img imagecreatetruecolor($newwidth,$newheight); //low res img - always use truecolor to prevent any 'wierd' colour effects.
            
    $org_img imagecreatefromjpeg($dest_hires); //load in hi res
       
            
    imagecopyresized($img$org_img0000$newwidth$newheight$ims[0], $ims[1]);
            
    imagejpeg($img,$dest_lowres,80);//save to file low res img.
            
    imagedestroy($img); 

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    47
    Grazie comunque sono riusciuto a risolvere, il problema erano i percorsi assoluti, ho dovuto sostituire la radice con $_SERVER['DOCUMENT_ROOT'].
    Comunque grazie ti ho inviato un privato per una richiesta ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.