probleme de creation d'image automatique sur un ftp
Posté : 02 mars 2006, 21:48
Bonjour,
je dispose d'une gallerie photo (picsengine) que j'ai legerement modifié pour améliorer la vitesse d'affichage.
Le principe :
-je créer un album via l'interface (ce qui a pour effet de creer un dossier avec des sous dossier sur mon repertoire, ainsi que d'enregistré le nom dans la bdd)
- j'upload mes photos originales dans le sous repertoire nomcat/original/
- je lance la 'synchronisation' via l'interface, qui pour toute les photos contenu dans nomcat/original de chaque album, va créer un 'aperçu', une image de taille reduite pour l'affichage, et une miniature. (bien sur si c'est fichier existe deja il ne sont pas re-créés)
Tout ça marchait bien, et j'ai voulu ajouter une categorie il y a quelque jour, apres upload des image, j'ai lancer la synchronisation, mais la, probleme!
Aucun fichier n'est creer! Je ne comprend pas pourquoi.
D'autre part, si je supprime des aperçu/miniature dans les autres categories, là j'arrive bien a créer les fichiers... cela ne viendrais donc pas de la fonction de génération de mes images...?!
J'ai verifier les droit des dossier/photos, ce sont les memes qu'ailleur (jai meme teste avec un chmod 777 pour verifier).
Alors si quelqu'un a une idée...!
Merci.
Voici la fonction que j'utilise pour créer mes images :
Et la fonction qui créer une categorie (enfin la partie correspondante):
je dispose d'une gallerie photo (picsengine) que j'ai legerement modifié pour améliorer la vitesse d'affichage.
Le principe :
-je créer un album via l'interface (ce qui a pour effet de creer un dossier avec des sous dossier sur mon repertoire, ainsi que d'enregistré le nom dans la bdd)
- j'upload mes photos originales dans le sous repertoire nomcat/original/
- je lance la 'synchronisation' via l'interface, qui pour toute les photos contenu dans nomcat/original de chaque album, va créer un 'aperçu', une image de taille reduite pour l'affichage, et une miniature. (bien sur si c'est fichier existe deja il ne sont pas re-créés)
Tout ça marchait bien, et j'ai voulu ajouter une categorie il y a quelque jour, apres upload des image, j'ai lancer la synchronisation, mais la, probleme!
Aucun fichier n'est creer! Je ne comprend pas pourquoi.
D'autre part, si je supprime des aperçu/miniature dans les autres categories, là j'arrive bien a créer les fichiers... cela ne viendrais donc pas de la fonction de génération de mes images...?!
J'ai verifier les droit des dossier/photos, ce sont les memes qu'ailleur (jai meme teste avec un chmod 777 pour verifier).
Alors si quelqu'un a une idée...!
Merci.
Voici la fonction que j'utilise pour créer mes images :
function createlargeimage($from,$fileName)
{
$gdVersion = getGDversion();
if ($gdVersion == false) {
return false;
}
$file = '../images/'.$from.'/original/'.$fileName;
$dimensions = @getimagesize($file);
$width = $dimensions[0];
$height = $dimensions[1];
$fileDest = '../images/'.$from.'/large/'.$fileName;
if ($width < 640 && $height < 640){
$outputX = $width;
$outputY = $height;
}
else {
if ($width < $height) {
$outputX = 480;
$outputY = 640;
}
else {
if ($width > $height) {
$outputX = 640;
$outputY = 480;
}
}
}
$quality = 85;
$deltaX = 0;
$deltaY = 0;
$portionX = $width;
$portionY = $height;
if (strtolower(substr($fileName,-3)) == 'jpg')
$imageSrc = @imagecreatefromjpeg($file);
else if (strtolower(substr($fileName,-3)) == 'gif')
$imageSrc = @imagecreatefromgif($file);
if ($gdVersion < 2 || isset($useCopyResized)) {
$imageDest = @imagecreate($outputX, $outputY);
if (@imagecopyresized($imageDest, $imageSrc, 0, 0, $deltaX, $deltaY, $outputX, $outputY, $portionX, $portionY)) {
@imagejpeg($imageDest, $fileDest, $quality);
@imagedestroy($imageSrc);
@imagedestroy($imageDest);
return true;
}
} else {
$imageDest = @imagecreatetruecolor($outputX, $outputY);
if (@imagecopyresampled($imageDest, $imageSrc, 0, 0, $deltaX, $deltaY, $outputX, $outputY, $portionX, $portionY)) {
@imagejpeg($imageDest, $fileDest, $quality);
@imagedestroy($imageSrc);
@imagedestroy($imageDest);
return true;
}
}
return false;
}
Et la fonction qui créer une categorie (enfin la partie correspondante):
...
else if ($act == 'new2')
{
if (!isset($_POST['cat']) || $_POST['cat'] == '') {
echo "Vous n'avez pas tout rempli.<br /><a href='?p=cat&act=new'>Ajouter une catégorie</a>";
exit;
}
$f = "cat".date("U");
mkdir("../images/".$f);
mkdir("../images/".$f."/large/");
mkdir("../images/".$f."/tiny/");
//ajout
mkdir("../images/".$f."/original");
createIndex("../images/");
createIndex("../images/".$f."/large/");
createIndex("../images/".$f."/tiny/");
//ajout
createIndex("../images/".$f."/original/");
$query = "INSERT INTO ".getprefix('categories')." (
`name`,
`url`
) values (
'".$_POST['cat']."',
'".$f."')";
$res = mysql_query($query);
echo "La catégorie a bien été créée.<br /><a href='?p=cat'>Retour</a>";
...
}