php Galerie photos : Erreur upload images RESOLU
1 message
• Page 1 sur 1
- hx.jonathan
- WRInaute discret

- Messages: 162
- Inscription: 2 Mar 2005
php Galerie photos : Erreur upload images RESOLU
Salut,
J'ai une galerie photos que j'ai codé en php. Mais j'ai un souci lors de l'uploa d'images. Il semble qu'en fonction de certaines images ma variable $fichier soit vide ou non. Il s'agit d'images jpeg. Avec certaines images, pas de problèmes et avec d'autres, ça marche pas.
Voic mon message d'erreur :
Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in F:\MesSitesWamp\test2\admin\galerie_photos_ajout.php on line 52
Si vous avez une petite idée.
Merci

J'ai une galerie photos que j'ai codé en php. Mais j'ai un souci lors de l'uploa d'images. Il semble qu'en fonction de certaines images ma variable $fichier soit vide ou non. Il s'agit d'images jpeg. Avec certaines images, pas de problèmes et avec d'autres, ça marche pas.
Voic mon message d'erreur :
Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in F:\MesSitesWamp\test2\admin\galerie_photos_ajout.php on line 52
- Code: Tout sélectionner
$taille_ko = 4000;//400 ko
$taille_max = $taille_ko*1024;//taille en octets
$dest_dossier = 'admin/img_lib_orig/';
$height=100;
$width=150;
//=========================================================
// TESTS
//=========================================================
if (isset($_FILES['fichier']))
{
foreach ($_FILES['fichier']['name'] as $key => $value)
{
$fichier=$value;//nom reel de l'image (juse le nom, pas le chemin)
$size=$_FILES['fichier']['size'][$key]; //poids de l'image en octets
$tmp=$_FILES['fichier']['tmp_name'][$key];//nom complet (chemin complet)temporaire de l'image (sur le serveur)
$type=$_FILES['fichier']['type'][$key];//type de l'image
$name=$_FILES['fichier']['name'][$key];
if (!empty($fichier)) //============ SI CHAMP REMPLI ===========================================================
{
$array= getimagesize($tmp);//getimagesize reprend le type en paramètre 3. Le type 2 correspond au JPEG
$type= $array[2];
if ($type==1 OR $type==2)//============ SI TYPE OK =========================================================
{
if((substr($name,-3) == "jpg" )OR (substr($name,-3) == "gif"))//============ SI EXTENSION OK ============
{
if((file_exists($tmp))and($size < $taille_max))//============ SI TAILLE OK ==========================
{
$dest_fichier = basename($name);
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// un chtit regex pour remplacer tous ce qui n'est ni chiffre ni lettre par "_"
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
//$dest_fichier = str_replace(" ","",$dest_fichier);
// pour ne pas écraser un fichier existant
while(file_exists($dest_dossier . $dest_fichier))
{
//echo 'image EXISTE';
$dest_fichier = rand().$dest_fichier;
}
$taille= getimagesize($tmp);
$L=$taille[0];
$H=$taille[1];
$newL=900;
$newH=ceil(($H/$L)*$newL);
//echo $newL.'x'.$newH;
if(move_uploaded_file($tmp,$dest_dossier.$dest_fichier)) //Met l'image de taille normale dans $dest_dossier . $dest_fichier
{
//================ CREATION NORMALE =======================================================
$source = imagecreatefromjpeg("admin/img_lib_orig/".$dest_fichier.""); // La photo est la source
$destination = imagecreatetruecolor($newL,$newH); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
imagejpeg($destination, "admin/tempresize/".$dest_fichier."");//destination de la miniature
rename("admin/tempresize/".$dest_fichier."","admin/img_lib_orig/".$dest_fichier."");
//================ CREATION MINIATURE =======================================================
$source = imagecreatefromjpeg("admin/img_lib_orig/".$dest_fichier.""); // La photo est la source
$destination = imagecreatetruecolor($width,$height); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
imagejpeg($destination, "admin/img_lib_thumbs/".$dest_fichier."");//destination de la miniature
//========================================================================
// ENREGISTREMENT CHEMIN + nom IMAGE UPLOADEES DANS BDD ALBUM NON CLASSEES !!!
//========================================================================
$sql = "INSERT INTO image (name_image,id_album,path_image_thumbs,path_image) VALUES ('$dest_fichier','1','admin/img_lib_thumbs/".$dest_fichier."','admin/img_lib_orig/".$dest_fichier."')";
mysql_query($sql) or die(mysql_error());
}
else
{
//echo "Impossible d'uploader le fichier.<br />Veuillez vérifier que le dossier ".$dest_dossier." existe avec un chmod 755 (ou 777).";
}
}
}
}
}
}
}
Si vous avez une petite idée.
Merci
1 message
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Galerie photos en php bdd ou dossier?
- Pb Upload photos
- Galerie photos
- Galerie de photos et Javascript
- Galerie photos Coppermine
- Dois je dupliquer la galerie photos ?
- installation script galerie photos !
- Script Galerie Photos Panoramiques
- Galerie photos OK pour le référencement
- Référencer une galerie de photos ?
Consultez la description détaillée des produits ou services de Google suivants : Google Video Upload, Hello, Picasa Web Albums
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
