You are not logged in.
j'ai pondu ce truc:
//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:
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
Offline
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?
Offline
non, c'est pas une erreur de chemin...et les droits sont bien a 777...je capte vraiment pas
Offline
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
Offline
en fait c'est bon...c'était un problème de chemin..voici la version corrigée:
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) { }
Offline