Upload mais pas plus de 200 ou 300k ??
Posté : 20 juin 2011, 04:32
Bonjour à tous !
J'ai fais le code ci-dessous (je suis débutant effectivement haha), il upload, renomme et resize en 5 thumbnails mais ne fonctionne pas avec les images de plus de 200 ou 300k..... Est-ce que quelqu'un voit ou est le problème ?
Ma valeur Max_file est pourtant beaucoup plus haute .. Le résultat d'un upload de fichier de 1M est soit une page blanche, soit que l'upload n'abouti pas...
Merci !!!!!
J'ai fais le code ci-dessous (je suis débutant effectivement haha), il upload, renomme et resize en 5 thumbnails mais ne fonctionne pas avec les images de plus de 200 ou 300k..... Est-ce que quelqu'un voit ou est le problème ?
Ma valeur Max_file est pourtant beaucoup plus haute .. Le résultat d'un upload de fichier de 1M est soit une page blanche, soit que l'upload n'abouti pas...
Merci !!!!!
<?php
//Ouverture de la session
session_start() ;
// Connexion a la base
$db = mysql_connect('localhost', 'user', 'passe') or die('Erreur de connexion '.mysql_error());
// Selection de la base
mysql_select_db('MABD',$db) or die('Erreur de selection '.mysql_error());
$sql = "select * from MATABLE where user='".$_SESSION["user"]."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
//Variables
$dossier = '../../img/p/';
$home = '-home' ;
$medium = '-medium' ;
$large = '-large' ;
$small = '-small' ;
$thickbox = '-thickbox' ;
$watermark = '-watermark' ;
$point = '.jpg' ;
$tiret = '-';
$product = $_POST["id_product"];
$image = $_POST["id_image"];
$fichier = basename($_FILES['image']['name']);
$taille_maxi = 3000000;
$taille = filesize($_FILES['image']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//Je formate le nom du fichier ...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $product.$tiret.$image.$point))
{
//RESIZE LES IMAGES
// La hauteur des nouvelles images thumbnail
$size = 129; //home
$size1 = 45; //small
$size2 = 80; //medium
$size3 = 300; //large
$size4 = 768; //watermark
$size5 = 600; //thickbox
$filedir = $dossier; // Le dossier de l'image original (redirige sur le dossier en haut)
$thumbdir = $dossier; // L'endroit ou je veux la nouvelle image (rien car dans le meme dossier)
$maxfile = $taille_maxi ;
$mode = '0777';
$userfile_name =$product.$tiret.$image.$point;
$userfile_tmp = $_FILES['image']['tmp_name'];
$userfile_size = $_FILES['image']['size'];
$userfile_type = $_FILES['image']['type'];
if (isset($_FILES['image']['name']))
{
//Renomme l'image téléchargé en $prod_img
$prod_img = $filedir.$userfile_name;
//Renomme l'image pour le prochain thumbnail
$prod_img_thumb = $thumbdir.$product.$tiret.$image.$home.$point;
$prod_img_thumb1 = $thumbdir.$product.$tiret.$image.$small.$point;
$prod_img_thumb2 = $thumbdir.$product.$tiret.$image.$medium.$point;
$prod_img_thumb3 = $thumbdir.$product.$tiret.$image.$large.$point;
$prod_img_thumb4 = $thumbdir.$product.$tiret.$image.$watermark.$point;
$prod_img_thumb5 = $thumbdir.$product.$tiret.$image.$thickbox.$point;
// rien a changer.. move file original..
move_uploaded_file($userfile_tmp, $prod_img);
chmod ($prod_img, octdec($mode));
// récupère les dimensions de l'image originale
$sizes = getimagesize($prod_img);
//Garder le ratio original
$aspect_ratio = $sizes[1]/$sizes[0];
if ($sizes[1] <= $size)
{
$new_width = $sizes[0];
$new_height = $sizes[1];
}else{
$new_height = $size;
$new_width = abs($new_height/$aspect_ratio);
$new_height1 = $size1;
$new_width1 = abs($new_height/$aspect_ratio);
$new_height2 = $size2;
$new_width2 = abs($new_height/$aspect_ratio);
$new_height3 = $size3;
$new_width3 = abs($new_height/$aspect_ratio);
$new_height4 = $size4;
$new_width4 = abs($new_height/$aspect_ratio);
$new_height5 = $size5;
$new_width5 = abs($new_height/$aspect_ratio);
}
$destimg=ImageCreateTrueColor($new_width,$new_height) or die('L\'image n\'a pas pu être replacée. Référence : 146');
$srcimg=ImageCreateFromJPEG($prod_img) or die('L\'image n\'a pas pu être trouvée. Référence : 146');
ImageCopyResized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die('L\'image n\'a pas pu être redimensionnée. Référence : 146');
ImageJPEG($destimg,$prod_img_thumb,90) or die('L\'image n\'a pas pu être sauvegardée. Référence : 146');
imagedestroy($destimg);
$destimg1=ImageCreateTrueColor($new_width1,$new_height1) or die('L\'image n\'a pas pu être replacée. Référence : 146');
$srcimg1=ImageCreateFromJPEG($prod_img) or die('L\'image n\'a pas pu être trouvée. Référence : 146');
ImageCopyResized($destimg1,$srcimg1,0,0,0,0,$new_width1,$new_height1,ImageSX($srcimg1),ImageSY($srcimg1)) or die('L\'image n\'a pas pu être redimensionnée. Référence : 146');
ImageJPEG($destimg1,$prod_img_thumb1,90) or die('L\'image n\'a pas pu être sauvegardée. Référence : 146');
imagedestroy($destimg1);
$destimg2=ImageCreateTrueColor($new_width2,$new_height2) or die('L\'image n\'a pas pu être replacée. Référence : 146');
$srcimg2=ImageCreateFromJPEG($prod_img) or die('L\'image n\'a pas pu être trouvée. Référence : 146');
ImageCopyResized($destimg2,$srcimg2,0,0,0,0,$new_width2,$new_height2,ImageSX($srcimg2),ImageSY($srcimg2)) or die('L\'image n\'a pas pu être redimensionnée. Référence : 146');
ImageJPEG($destimg2,$prod_img_thumb2,90) or die('L\'image n\'a pas pu être sauvegardée. Référence : 146');
imagedestroy($destimg2);
$destimg3=ImageCreateTrueColor($new_width3,$new_height3) or die('L\'image n\'a pas pu être replacée. Référence : 146');
$srcimg3=ImageCreateFromJPEG($prod_img) or die('L\'image n\'a pas pu être trouvée. Référence : 146');
ImageCopyResized($destimg3,$srcimg3,0,0,0,0,$new_width3,$new_height3,ImageSX($srcimg3),ImageSY($srcimg3)) or die('L\'image n\'a pas pu être redimensionnée. Référence : 146');
ImageJPEG($destimg3,$prod_img_thumb3,90) or die('L\'image n\'a pas pu être sauvegardée. Référence : 146');
imagedestroy($destimg3);
$destimg4=ImageCreateTrueColor($new_width4,$new_height4) or die('L\'image n\'a pas pu être replacée. Référence : 146');
$srcimg4=ImageCreateFromJPEG($prod_img) or die('L\'image n\'a pas pu être trouvée. Référence : 146');
ImageCopyResized($destimg4,$srcimg4,0,0,0,0,$new_width4,$new_height4,ImageSX($srcimg4),ImageSY($srcimg4)) or die('L\'image n\'a pas pu être redimensionnée. Référence : 146');
ImageJPEG($destimg4,$prod_img_thumb4,90) or die('L\'image n\'a pas pu être sauvegardée. Référence : 146');
imagedestroy($destimg4);
$destimg5=ImageCreateTrueColor($new_width5,$new_height5) or die('L\'image n\'a pas pu être replacée. Référence : 146');
$srcimg5=ImageCreateFromJPEG($prod_img) or die('L\'image n\'a pas pu être trouvée. Référence : 146');
ImageCopyResized($destimg5,$srcimg5,0,0,0,0,$new_width5,$new_height5,ImageSX($srcimg5),ImageSY($srcimg5)) or die('L\'image n\'a pas pu être redimensionnée. Référence : 146');
ImageJPEG($destimg5,$prod_img_thumb5,90) or die('L\'image n\'a pas pu être sauvegardée. Référence : 146');
imagedestroy($destimg5);
}
echo 'Le remplacement de l\'image est terminée !';
echo " <br> <table align=center><a href=\"../fiche.php\">Retourner à votre fiche en cliquant ici </a> <br> " ;
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Le remplacement n\'a pas fonctionné. Contactez-nous si le problème persiste. Référence : 192';
}
}
else
{
echo $erreur;
}
?>