par
JeanJean » 13 févr. 2010, 19:23
Bonsoir,
Après plusieurs test sans résultat, je reviens vous voir pour vous exposez mon problème.
J'ai une erreur assez étrange.
Voilà le script qui se compose de deux parties.
parametres.php et redimensionner.php
Code : PHP
<?php
if(isset($_FILES['photo'])){
$largeur_maximum = 300;
$hauteur_maximum = 400;
$photo = $_FILES['photo']['name'];
$photo_tmp = $_FILES['photo']['tmp_name'];
$taille = $_FILES['photo']['size'];
include('redimensionner.php');
if(empty($verification_photo)){
if(!is_dir('photos/')){
mkdir('photos', 0777);
}
if(!is_dir('photos/'.$pseudo)){
mkdir('photos/'.$pseudo, 0777);
}
if(!is_dir('photos/'.$pseudo.'/photo_profil')){
mkdir('photos/'.$pseudo.'/photo_profil', 0777);
}
$nom = 'photo_profil';
$destination = 'photos/'.$pseudo.'/photo_profil/';
$liste = scandir($destination);
if(isset($liste[2]) && $liste[2] !== ''){
unlink($destination.$liste[2]);
}
if($extension_photo == 'gif'){
imagecreatefromgif($photo_miniature,$destination.$nom.'.'.$extension_photo);
}
elseif($extension_photo == 'png'){
imagecreatefrompng($photo_miniature,$destination.$nom.'.'.$extension_photo,9);
}
else{
imagecreatefromjpeg($photo_miniature,$destination.$nom.'.'.$extension_photo,100);
}
}
else{
switch($verification_photo){
case 1:
$erreur = 'Merci de renseigner une photo dans le formulaire';
break;
case 2:
$erreur = 'Le format de la photo n\'est pas bon. Les formats acceptés sont : jpg, jpeg, gif, png.';
break;
}
}
}
if(isset($erreur) && $erreur !== ''){
echo '<span class="erreur_para">'.$erreur.'</span><br /><br />';
}
$destination = 'photos/'.$pseudo.'/photo_profil/';
if(is_dir($destination)){
$liste = scandir($destination);
if(isset($liste[2]) && $liste[2] !== ''){
echo '<img src="'.$destination.$liste[2].'">';
}
}
?>
<form method="post" enctype="multipart/form-data" action="parametres.php?ref=2">
Photo de profil : <br />
<input type="file" name="photo" style="margin-left:50px;"><br /><br />
<input type="submit" name="envoyer_photo">
</form>
Code : PHP
<?php
if(isset($_FILES['photo'])){
function verification_photo($taille,$extension_photo,$extension_authorise){
if($taille < 1){
return 1;
}
elseif(!in_array($extension_photo,$extension_authorise)){
return 2;
}
else{
$erreur = null;
return $erreur;
}
}
$extension_authorise = array('jpg','jpeg','gif','png');
$minuscule = strtolower($photo);
$explode = explode('.',$minuscule);
@$extension_photo = $explode[1];
$verification_photo = verification_photo($taille,$extension_photo,$extension_authorise);
if(empty($verification_photo)){
if($extension_photo = 'gif'){
$photo_intermediaire = imagecreatefromgif($photo_tmp);
}
elseif($extension_photo = 'png'){
$photo_intermediaire = imagecreatefrompng($photo_tmp);
}
else{
$photo_intermediaire = imagecreatefromjpeg($photo_tmp);
}
$taille_image = getimagesize($photo_tmp);
$reduction = (($largeur_maximum * 100)/$taille_image[0]);
$hauteur = (($taille_image[1] * $reduction)/100);
if($hauteur > $hauteur_maximum){
$reduction = (($hauteur_maximum * 100)/$taille_image[1]);
$largeur = (($taille_image[0] * $reduction)/100);
$photo_miniature = imagecreatetruecolor($largeur,$hauteur_maximum);
imagecopyresampled($photo_miniature,$photo_intermediaire,0,0,0,0,$largeur,$hauteur_maximum,$taille_image[0],$taille_image[1]);
}
else{
$reduction = (($largeur_maximum * 100)/$taille_image[0]);
$photo_miniature = imagecreatetruecolor($largeur_maximum,$hauteur);
imagecopyresampled($photo_miniature,$photo_intermediaire,0,0,0,0,$largeur_maximum,$hauteur,$taille_image[0],$taille_image[1]);
}
imagedestroy($photo_intermediaire);
}
}
?>
Quand je choisie une image dans le formulaire et que je clique sur "valider", le script me renvoi cette erreur :
Warning: imagecreatefromgif() [function.imagecreatefromgif]: 'F:\Wamp\tmp\php13AE.tmp' is not a valid GIF file in F:\Wamp\www\Projet\redimensionner.php on line 25.
Ce qui équivaut à cette ligne :
Code : PHP
<?php
if($extension_photo = 'gif'){
$photo_intermediaire = imagecreatefromgif($photo_tmp);
}
?>
Alors que l'image up est au format jpg.
Merci et bonne soirée.
Bonsoir,
Après plusieurs test sans résultat, je reviens vous voir pour vous exposez mon problème.
J'ai une erreur assez étrange.
Voilà le script qui se compose de deux parties.
parametres.php et redimensionner.php
Code : PHP
[php]<?php
if(isset($_FILES['photo'])){
$largeur_maximum = 300;
$hauteur_maximum = 400;
$photo = $_FILES['photo']['name'];
$photo_tmp = $_FILES['photo']['tmp_name'];
$taille = $_FILES['photo']['size'];
include('redimensionner.php');
if(empty($verification_photo)){
if(!is_dir('photos/')){
mkdir('photos', 0777);
}
if(!is_dir('photos/'.$pseudo)){
mkdir('photos/'.$pseudo, 0777);
}
if(!is_dir('photos/'.$pseudo.'/photo_profil')){
mkdir('photos/'.$pseudo.'/photo_profil', 0777);
}
$nom = 'photo_profil';
$destination = 'photos/'.$pseudo.'/photo_profil/';
$liste = scandir($destination);
if(isset($liste[2]) && $liste[2] !== ''){
unlink($destination.$liste[2]);
}
if($extension_photo == 'gif'){
imagecreatefromgif($photo_miniature,$destination.$nom.'.'.$extension_photo);
}
elseif($extension_photo == 'png'){
imagecreatefrompng($photo_miniature,$destination.$nom.'.'.$extension_photo,9);
}
else{
imagecreatefromjpeg($photo_miniature,$destination.$nom.'.'.$extension_photo,100);
}
}
else{
switch($verification_photo){
case 1:
$erreur = 'Merci de renseigner une photo dans le formulaire';
break;
case 2:
$erreur = 'Le format de la photo n\'est pas bon. Les formats acceptés sont : jpg, jpeg, gif, png.';
break;
}
}
}
if(isset($erreur) && $erreur !== ''){
echo '<span class="erreur_para">'.$erreur.'</span><br /><br />';
}
$destination = 'photos/'.$pseudo.'/photo_profil/';
if(is_dir($destination)){
$liste = scandir($destination);
if(isset($liste[2]) && $liste[2] !== ''){
echo '<img src="'.$destination.$liste[2].'">';
}
}
?>
<form method="post" enctype="multipart/form-data" action="parametres.php?ref=2">
Photo de profil : <br />
<input type="file" name="photo" style="margin-left:50px;"><br /><br />
<input type="submit" name="envoyer_photo">
</form>[/php]
Code : PHP
[php]<?php
if(isset($_FILES['photo'])){
function verification_photo($taille,$extension_photo,$extension_authorise){
if($taille < 1){
return 1;
}
elseif(!in_array($extension_photo,$extension_authorise)){
return 2;
}
else{
$erreur = null;
return $erreur;
}
}
$extension_authorise = array('jpg','jpeg','gif','png');
$minuscule = strtolower($photo);
$explode = explode('.',$minuscule);
@$extension_photo = $explode[1];
$verification_photo = verification_photo($taille,$extension_photo,$extension_authorise);
if(empty($verification_photo)){
if($extension_photo = 'gif'){
$photo_intermediaire = imagecreatefromgif($photo_tmp);
}
elseif($extension_photo = 'png'){
$photo_intermediaire = imagecreatefrompng($photo_tmp);
}
else{
$photo_intermediaire = imagecreatefromjpeg($photo_tmp);
}
$taille_image = getimagesize($photo_tmp);
$reduction = (($largeur_maximum * 100)/$taille_image[0]);
$hauteur = (($taille_image[1] * $reduction)/100);
if($hauteur > $hauteur_maximum){
$reduction = (($hauteur_maximum * 100)/$taille_image[1]);
$largeur = (($taille_image[0] * $reduction)/100);
$photo_miniature = imagecreatetruecolor($largeur,$hauteur_maximum);
imagecopyresampled($photo_miniature,$photo_intermediaire,0,0,0,0,$largeur,$hauteur_maximum,$taille_image[0],$taille_image[1]);
}
else{
$reduction = (($largeur_maximum * 100)/$taille_image[0]);
$photo_miniature = imagecreatetruecolor($largeur_maximum,$hauteur);
imagecopyresampled($photo_miniature,$photo_intermediaire,0,0,0,0,$largeur_maximum,$hauteur,$taille_image[0],$taille_image[1]);
}
imagedestroy($photo_intermediaire);
}
}
?>[/php]
Quand je choisie une image dans le formulaire et que je clique sur "valider", le script me renvoi cette erreur :
Warning: imagecreatefromgif() [function.imagecreatefromgif]: 'F:\Wamp\tmp\php13AE.tmp' is not a valid GIF file in F:\Wamp\www\Projet\redimensionner.php on line 25.
Ce qui équivaut à cette ligne :
Code : PHP
[php]<?php
if($extension_photo = 'gif'){
$photo_intermediaire = imagecreatefromgif($photo_tmp);
}
?>[/php]
Alors que l'image up est au format jpg.
Merci et bonne soirée.