Bonjour à tous,
J'ai un problème (si si, c'est vrai), le voici :
Sur une page, j'envoie une image. Dès qu'elle dépasse les 600ko (proximo), j'ai un problème pour la récupérer.
Non pas que le temps d'up est trop long, j'ai tout vérifier, c'est au moment du 'imagecreatefromjpg()' que le script plante, il ne donne strictement plus rien et n'affiche pas la suite de la page.
J'ai pu isoler cela en insérant des 'print_r $_FILES["fichier"]' et cela fonctionne juste avant l'imagecreate (du moins il insère tout ce que je veux) et après ... il n'affiche rien.
Grâce à cela on sait aussi que cela ne vient pas de l'up, mais bien après.
J'ai testé directement un imagecopy(), qui ne fonctionne pas non plus.
Avec des images de moins de 600Ko, aucun problème, le reste de mon script se lance correctement ...
Niveau code, voici mon formulaire :
Le traitement derrière (je préviens, je ne vous mets pas la vérification du type et du poids)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <form method="post" action="index.php" enctype="multipart/form-data" Parcourez votre disque dur et choississez votre fichier image que vous souhaitez transférer.<br /> Attention, la taille maximale autorisée est de <?php echo ($poids_max/1024); ?> Ko (Pour toute taille supérieur, <a href='index.php?page=contact'>Contactez-nous</a>).<br /> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max;?>" /> <input type="file" name="fichier" size="30"><br /><br /> Cliquez sur le bouton suivant pour envoyer votre image.<br /> <input type="submit" name="upload" onclick="showWait('Patientez svp - sauvegarde de votre image <br /> Cela peut prendre quelques minutes');" /> </form>
Merci pour votre aide
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
25 // Récupération de l'image envoyée via le formulaire $img = imagecreatefromjpeg($_FILES['fichier']['tmp_name']); $nom_fichier = time().'.jpg'; // Récupère les dimensions $size = getimagesize($_FILES['fichier']['tmp_name']); $larg = $size[0]; $long = $size[1]; $coeff = $larg/$width; $larg = $larg/$coeff; $long = $long/$coeff; $img_dest = imagecreatetruecolor($larg, $long); $copy = imagecopyresampled($img_dest, $img, 0, 0, 0, 0, $larg, $long, $size[0], $size[1]); imagejpeg($img_dest, $repertoire.'min/'.$nom_fichier); imagejpeg($img, $repertoire.$nom_fichier); imagedestroy($img_dest); $url = $repertoire.''.$nom_fichier.''; $picurl = $repertoire . $nom_fichier; $picurlMin = $repertoire.'min/'.$nom_fichier;
Partager