Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 13 Oct 2005 17:16:47

Deejayprod
Prêcheu(r|se) du libre
 
Lieu: Cottens-Beach - Fribourg
Date d'inscription: 08 Feb 2005
Messages: 120
Site web

[php] problème ImageJpeg (Résolu)

j'ai pondu ce truc:

Code:

            //créer les répertoire cibles
            chdir('photos');
            mkdir($dirCible);
            chmod($dirCible,0777);
            chdir($dirCible);
            mkdir('thumbnails');
            mkdir('images');
            chmod('thumbnails',0777);
            chmod('images',0777);
            chdir('../');
            //crée les grandes images
            for($i = 0; $i != $cntFiles; $i++) {
                 $source = '../'.$uploadDir.'/'.$selDirectory.'/'.$files[$i];
                 $cibleGrds = 'photos/'.$dirCible.'/images/'.$files[$i];
                 $ciblePetites = 'photos/'.$dirCible.'/thumbnails/'.$files[$i];
                 
                 //obtiens la taille de l'image
                 $size = GetImageSize($source);
                 $largeurOrig = $size[0];
                 $hauteurOrig = $size[1];
                 
                 //teste si l'image est en portrait ou paysage
                 if ($largeurOrig > $hauteurOrig) {
                     $paysage = true;
                     $grdCote = $largeurOrig;
                 } else {
                     $paysage = false;
                     $grdCote = $hauteurOrig;
                 }
                 
                 //calcul des facteurs de redimensionnement
                 $factor=($grdCote/$maxLength);
                 $factorThumbs = ($grdCote/$thumbMaxLength);
                 /***********************************************************
                 création des images
                 ***********************************************************/
                  //teste si une des valeurs est plus grande que la valeur max
                  //définition des dimensions pour la grande image
                  if($largeurOrig > $maxLength || $hauteurOrig > $maxLength){
                    //calcule les nouvelles dimensions
                    $new_largeur=round($largeurOrig/$factor);
              $new_hauteur=round($hauteurOrig/$factor);
                  } else {
                      //utilise les dimensions actuelles
                      $new_largeur=$largeurOrig;
                      $new_hauteur=$hauteurOrig;
                  }
                  //définition des dimensions de la vignette
                  $largeurThumbs=round($largeurOrig/$factorThumbs);
          $hauteurThumbs=round($hauteurOrig/$factorThumbs); 
                  //crée une image vide dans les repertoire destination
                  $imageDest = ImageCreateTrueColor($new_largeur,$new_hauteur);
                  $thumbDest = ImageCreateTrueColor($largeurThumbs,$hauteurThumbs);
                  //crée un objet image avec l'originale
                  $imageSrc = ImageCreateFromJpeg($source);
                  //copie l'originale dans les nouvelles
                  ImageCopyResampled($imageDest,$imageSrc,0,0,0,0,$new_largeur,$new_hauteur,$largeurOrig,$hauteurOrig);
                  ImageCopyResampled($thumbDest,$imageSrc,0,0,0,0,$largeurThumbs,$hauteurThumbs,$largeurOrig,$hauteurOrig);
                  //sauvegarde la nouvelle image
                  ImageJpeg($imageDest,$cibleGrds);
                  ImageJpeg($thumbDest,$ciblePetites);
            //for($i = 0; $i != $cntFiles; $i++) {
            }

et ce couillon de php me sort ca en retour:

Code:

Warning: imagejpeg(): Unable to open 'photos/test/images/1.jpg' for writing in patati patata/forests.php on line 115

quelqu'un peut me dire pourquoi?????je capte pas...car je mets des chmod 777 et après il se plaint qu'il n'a pas les droits...grmble


``What's this script do?

'unzip; touch; finger; mount; gasp; yes; umount; sleep'

Hint for the answer: not everything is computer-oriented. Sometimes you're in a sleeping bag, camping out with your girlfriend.''
-- Frans van der Zande

Hors ligne

 

#2 13 Oct 2005 18:31:54

[GO]Skywalker13
Modérateur
Lieu: Choëx (VS)
Date d'inscription: 05 Oct 2004
Messages: 896
Site web

Re: [php] problème ImageJpeg (Résolu)

T'es bien sûr de ne pas avoir une erreur de chemin? Je suppose que t'as vérifié l'existence de photos/test/images/1.jpg ainsi que ses droits après avoir eu cette erreur?


Mathieu SCHROETER
log.schroetersa.ch

Hors ligne

 

#3 13 Oct 2005 19:11:35

Deejayprod
Prêcheu(r|se) du libre
 
Lieu: Cottens-Beach - Fribourg
Date d'inscription: 08 Feb 2005
Messages: 120
Site web

Re: [php] problème ImageJpeg (Résolu)

non, c'est pas une erreur de chemin...et les droits sont bien a 777...je capte vraiment pas sad


``What's this script do?

'unzip; touch; finger; mount; gasp; yes; umount; sleep'

Hint for the answer: not everything is computer-oriented. Sometimes you're in a sleeping bag, camping out with your girlfriend.''
-- Frans van der Zande

Hors ligne

 

#4 13 Oct 2005 19:54:14

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: [php] problème ImageJpeg (Résolu)

Beuh... a chaud, comme ca... les sous-répertoires images/ et thumbnails/ sont bien créés à l'avance ? essaie aussi d'utiliser des path absolus..

Hors ligne

 

#5 14 Oct 2005 01:26:19

Deejayprod
Prêcheu(r|se) du libre
 
Lieu: Cottens-Beach - Fribourg
Date d'inscription: 08 Feb 2005
Messages: 120
Site web

Re: [php] problème ImageJpeg (Résolu)

oui, y sont créés au début du bout de script que j'ai mis...

ouais, vais essayer avec des chemins absolu...c'est pas bete


``What's this script do?

'unzip; touch; finger; mount; gasp; yes; umount; sleep'

Hint for the answer: not everything is computer-oriented. Sometimes you're in a sleeping bag, camping out with your girlfriend.''
-- Frans van der Zande

Hors ligne

 

#6 14 Oct 2005 13:18:23

Deejayprod
Prêcheu(r|se) du libre
 
Lieu: Cottens-Beach - Fribourg
Date d'inscription: 08 Feb 2005
Messages: 120
Site web

Re: [php] problème ImageJpeg (Résolu)

en fait c'est bon...c'était un problème de chemin..voici la version corrigée:

Code:

mkdir('photos/'.$dirCible);
            mkdir('photos/'.$dirCible.'/thumbnails');            
            mkdir('photos/'.$dirCible.'/images');
            chmod('photos/'.$dirCible,0777);
            chmod('photos/'.$dirCible.'/thumbnails',0777);            
            chmod('photos/'.$dirCible.'/images',0777);

            //crée les grandes images
            for($i = 0; $i != $cntFiles; $i++) {
                 $source = $uploadDir.'/'.$selDirectory.'/'.$files[$i];
                 $cibleGrds = 'photos/'.$dirCible.'/images/'.$files[$i];
                 $ciblePetites = 'photos/'.$dirCible.'/thumbnails/'.$files[$i];
                 
                 //obtiens la taille de l'image
                 $size = GetImageSize($source);
                 $largeurOrig = $size[0];
                 $hauteurOrig = $size[1];
                 
                 //teste si l'image est en portrait ou paysage
                 if ($largeurOrig > $hauteurOrig) {
                     $paysage = true;
                     $grdCote = $largeurOrig;
                 } else {
                     $paysage = false;
                     $grdCote = $hauteurOrig;
                 }                 
                 //calcul des facteurs de redimensionnement
                 $factor=($grdCote/$maxLength);
                 $factorThumbs = ($grdCote/$thumbMaxLength);
                 /***********************************************************
                 création des images
                 ***********************************************************/
                  //teste si une des valeurs est plus grande que la valeur max
                  //définition des dimensions pour la grande image
                  if($largeurOrig > $maxLength || $hauteurOrig > $maxLength){
                    //calcule les nouvelles dimensions
                    $new_largeur=round($largeurOrig/$factor);
              $new_hauteur=round($hauteurOrig/$factor);
                  } else {
                      //utilise les dimensions actuelles
                      $new_largeur=$largeurOrig;
                      $new_hauteur=$hauteurOrig;
                  }
                  //définition des dimensions de la vignette
                  $largeurThumbs=round($largeurOrig/$factorThumbs);
          $hauteurThumbs=round($hauteurOrig/$factorThumbs); 
                  //crée une image vide dans les repertoire destination
                  $imageDest = ImageCreateTrueColor($new_largeur,$new_hauteur);
                  $thumbDest = ImageCreateTrueColor($largeurThumbs,$hauteurThumbs);
                  //crée un objet image avec l'originale
                  $imageSrc = ImageCreateFromJpeg($source);
                  //copie l'originale dans les nouvelles
                  ImageCopyResampled($imageDest,$imageSrc,0,0,0,0,$new_largeur,$new_hauteur,$largeurOrig,$hauteurOrig);
                  ImageCopyResampled($thumbDest,$imageSrc,0,0,0,0,$largeurThumbs,$hauteurThumbs,$largeurOrig,$hauteurOrig);
                  //sauvegarde la nouvelle image
                  ImageJpeg($imageDest,$cibleGrds);
                  ImageJpeg($thumbDest,$ciblePetites);
            //for($i = 0; $i != $cntFiles; $i++) {
            }
        //if ($isError) {
        }

``What's this script do?

'unzip; touch; finger; mount; gasp; yes; umount; sleep'

Hint for the answer: not everything is computer-oriented. Sometimes you're in a sleeping bag, camping out with your girlfriend.''
-- Frans van der Zande

Hors ligne

 

Pied de page des forums

Powered by FluxBB