par
amonite » 07 févr. 2012, 20:30
Bonjour,
J'ai essayé de faire un petit bout de code pour enregistrer des données avec redimmensionnement automatique.
Mais il me fait une erreur dès que je veux inserer l'image.
Le champs dans ma BDD est "photo" en varchar 255
Si quelqu'un voit une erreur que je n'aurais pas vu, je le remercie d'avance.
Bonne journée
<?php
if (isset ($_POST['valider']))
{
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$age = $_POST['age'];
$code = $_POST['code'];
$ville = $_POST['ville'];
$tel = $_POST['tel'];
$fax = $_POST['fax'];
$gsm = $_POST['gsm'];
$email = $_POST['email'];
$sexe = $_POST['sexe'];
$dossier ='../images/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['name'], '.');
// Si l'un des champs est vide -> erreur
if (empty ($nom) || empty($prenom) || empty($age) || empty($code) || empty($ville) || empty($email))
{
echo '<body onLoad="alert(\'Veuillez entrer tous les champs.\')">';
header("refresh:1; URL = 'admin.php'");
}
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
echo '<body onLoad="alert(\'Veuillez charger une image de format .png ou .gif ou .jpg(.jpeg).\')">';
header("refresh:1; URL = 'produits.php' ");
}
if($taille>$taille_maxi)
{
echo '<body onLoad="alert(\'Image trop lourde.\')">';
header("refresh:1; URL = '../produits.php' ");
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo '<body onLoad="alert(\'Image chargée avec succès.\')">';
header("refresh:1; URL = 'produits.php' ");
$file = "../images/".$_FILES['photo']['name'].""; # L'emplacement de l'image à redimensionner. L'image peut être de type jpeg, gif ou png
$x = 130;
$y = 110;
$size = getimagesize($file);
if ($size)
{
if ($size['mime']=='image/jpeg')
{
$img_big = imagecreatefromjpeg($file);
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagejpeg($img_mini,$file );
}
elseif ($size['mime']=='image/png')
{
$img_big = imagecreatefrompng($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagepng($img_mini,$file );
}
elseif ($size['mime']=='image/gif')
{
$img_big = imagecreatefromgif($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$file );
}
}}}
{
include('../connexion.php');
$nom = mysql_real_escape_string($nom) ;
$prenom = mysql_real_escape_string($prenom);
$age = mysql_real_escape_string($age);
$code = mysql_real_escape_string($code);
$ville = mysql_real_escape_string($ville);
$tel = mysql_real_escape_string($tel);
$fax = mysql_real_escape_string($fax);
$gsm = mysql_real_escape_string($gsm);
$email = mysql_real_escape_string($email);
$sexe = mysql_real_escape_string($sexe);
// Insertion dans la bdd
$query = "insert into PROD(ID,nom,prenom,age,code,ville,tel,fax,gsm,email,sexe,photo) values('','$nom', '$prenom', '$age', '$code', '$ville', '$tel', '$fax', '$gsm', '$email', '$sexe', '../images/".$_FILES['photo']['name']."')";
mysql_real_escape_string($query);
if (mysql_query($query))
{
echo '<body onLoad="alert(\'Evenement ajoutée avec succès.\')">';
header("refresh:1; URL = 'produits.php' ");
}
else
{
echo '<body onLoad="alert(\'Une erreur a été détectée.\')">';
header("refresh:1; URL = 'produits.php' ");
}
//mysql_close();
}
}
?>
Bonjour,
J'ai essayé de faire un petit bout de code pour enregistrer des données avec redimmensionnement automatique.
Mais il me fait une erreur dès que je veux inserer l'image.
Le champs dans ma BDD est "photo" en varchar 255
Si quelqu'un voit une erreur que je n'aurais pas vu, je le remercie d'avance.
Bonne journée
[php]
<?php
if (isset ($_POST['valider']))
{
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$age = $_POST['age'];
$code = $_POST['code'];
$ville = $_POST['ville'];
$tel = $_POST['tel'];
$fax = $_POST['fax'];
$gsm = $_POST['gsm'];
$email = $_POST['email'];
$sexe = $_POST['sexe'];
$dossier ='../images/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['name'], '.');
// Si l'un des champs est vide -> erreur
if (empty ($nom) || empty($prenom) || empty($age) || empty($code) || empty($ville) || empty($email))
{
echo '<body onLoad="alert(\'Veuillez entrer tous les champs.\')">';
header("refresh:1; URL = 'admin.php'");
}
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
echo '<body onLoad="alert(\'Veuillez charger une image de format .png ou .gif ou .jpg(.jpeg).\')">';
header("refresh:1; URL = 'produits.php' ");
}
if($taille>$taille_maxi)
{
echo '<body onLoad="alert(\'Image trop lourde.\')">';
header("refresh:1; URL = '../produits.php' ");
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo '<body onLoad="alert(\'Image chargée avec succès.\')">';
header("refresh:1; URL = 'produits.php' ");
$file = "../images/".$_FILES['photo']['name'].""; # L'emplacement de l'image à redimensionner. L'image peut être de type jpeg, gif ou png
$x = 130;
$y = 110;
$size = getimagesize($file);
if ($size)
{
if ($size['mime']=='image/jpeg')
{
$img_big = imagecreatefromjpeg($file);
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagejpeg($img_mini,$file );
}
elseif ($size['mime']=='image/png')
{
$img_big = imagecreatefrompng($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagepng($img_mini,$file );
}
elseif ($size['mime']=='image/gif')
{
$img_big = imagecreatefromgif($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$file );
}
}}}
{
include('../connexion.php');
$nom = mysql_real_escape_string($nom) ;
$prenom = mysql_real_escape_string($prenom);
$age = mysql_real_escape_string($age);
$code = mysql_real_escape_string($code);
$ville = mysql_real_escape_string($ville);
$tel = mysql_real_escape_string($tel);
$fax = mysql_real_escape_string($fax);
$gsm = mysql_real_escape_string($gsm);
$email = mysql_real_escape_string($email);
$sexe = mysql_real_escape_string($sexe);
// Insertion dans la bdd
$query = "insert into PROD(ID,nom,prenom,age,code,ville,tel,fax,gsm,email,sexe,photo) values('','$nom', '$prenom', '$age', '$code', '$ville', '$tel', '$fax', '$gsm', '$email', '$sexe', '../images/".$_FILES['photo']['name']."')";
mysql_real_escape_string($query);
if (mysql_query($query))
{
echo '<body onLoad="alert(\'Evenement ajoutée avec succès.\')">';
header("refresh:1; URL = 'produits.php' ");
}
else
{
echo '<body onLoad="alert(\'Une erreur a été détectée.\')">';
header("refresh:1; URL = 'produits.php' ");
}
//mysql_close();
}
}
?>
[/php]