Bonjour
J'ai un script d'import de flux XML. Il me permet d'importer des offres de sites marchands.
Ce script insère les offres dans ma base MySQL et upload des images sur mon serveur.
Pour une raison que je ne comprends pas, les images d'un des partenaires ne s'uploadent pas bien et font que le script s'arrête provoquant notamment une déconnexion à la base MySQL.
Voici le script d'upload d'image qui est appelé
Les fonctions new SimpleImage, save etc. sont présentes , je ne les ai pas mises ici par souci de simplicité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function upload_image($image_url, $id_annonceur, $id_offre_annonceur, $extension) { // On nomme l'image avec id_annonceur + id_offre_annonceur if ($extension == "") {$extension = ".jpg";} $img = '/homez.402/pourtoim/www/img_offres/'.$id_annonceur.'_'.$id_offre_annonceur.''.$extension.''; file_put_contents($img, file_get_contents($image_url)); $image = new SimpleImage(); $image->load($img); // 1er resize en 300 par 200 $image->resize(300,200); $new_name = '/homez.402/pourtoim/www/img_offres/300-200_'.$id_annonceur.'_'.$id_offre_annonceur.''.$extension.''; $image->save($new_name); // 2e resize en 220 par 147 $image->resize(220,147); $new_name = '/homez.402/pourtoim/www/img_offres/220-147_'.$id_annonceur.'_'.$id_offre_annonceur.''.$extension.''; $image->save($new_name); // 3e resize en 75 par 53 pour le widget $image->resize(75,53); $new_name = '/homez.402/pourtoim/www/img_offres/75-53_'.$id_annonceur.'_'.$id_offre_annonceur.''.$extension.''; $image->save($new_name); // Suppression du fichier original unlink("/homez.402/pourtoim/www/img_offres/".$id_annonceur."_".$id_offre_annonceur."".$extension.""); }
Voici un exemple d'une image qui provoque le problème. J'ai l'impression que le problème vient du fait que l''image est corrompue, sans pouvoir en être sûr.
http://kgbdeals-images.s3.amazonaws....36_1_thumb.jpg
Dès lors que le script rencontre une image problématique, il se déconnecte du serveur MySQL avec un message d'erreur : "Mysql server has gone away" ce qui empêche l'insertion des offres suivantes.
Donc plusieurs questions :
- comment faire pour permettre au script de continuer même si l'image pose un problème ?
- comment faire pour uploader l'image même si elle est corrompue ?
Merci par avance de votre aide car je galère depuis pas mal de jours sur ce problème !
Partager