Problème d'upload de photo

morgan24 -  
Defouille Messages postés 404 Statut Membre -
Bonjour,
Je viens de changer d'hebergeur.
mon nouvel hébergeur est ovh
J'ai un petit problème
Dans une de mes pages qui marchait avec mon ancien hébergeur ne marche plus maintenant.
Cette page servait à uploader une image sur mon site en la redimensionnant.
d'abord la photo était uploadée.puis avec le script de cette page était redimensionnée.
En plus une nouvelle photo(format plus grand) était créée.
la nouvelle photo(format plus grand) était créée pour cela c'est bon
Le probléme est le suivant: l'image qui devait être redimensionner est écrasée
Voici le script:
<?php
if(isset($_POST['numannonce'])) $numannonce=$_POST['numannonce'];
else $numannonce="";

resize_clone("../pholo/$numannonce/", "1.jpg"); ?>

<?php
function resize_clone($path, $file)
{
list($width, $height, $type, $attr) = getimagesize($path.$file);
$ratio = $height / $width;
if ($height > 500 OR $width > 500)
{
if($ratio <= 1)
{
$x = 500;
$y = 500*$ratio;
}
else
{
$y = 500;
$x = 500*(1/$ratio);
}
}
else
{
if($ratio <= 1)
{
$x = $width;
$y = $width*$ratio;
}
else
{
$y = $height;
$x = $height*(1/$ratio);
}
}
$size = getimagesize($path.$file);
if ( $size)
{
if ($size['mime']=='image/jpeg' )
{
$img_big = imagecreatefromjpeg($path.$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]);
imagejpeg($img_mini,$path."big_".$file );
}
elseif ($size['mime']=='image/png' )
{
$img_big = imagecreatefrompng($path.$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,$path."big_".$file );
}
elseif ($size['mime']=='image/gif' )
{
$img_big = imagecreatefromgif($path.$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,$path."big_".$file );
}
}
if($ratio <= 1)
{
$x = 90;
$y = 90*$ratio;
}
else
{
$y = 90;
$x = 90*(1/$ratio);
}
$size = getimagesize($path.$file);
if ( $size)
{
if ($size['mime']=='image/jpeg' )
{
$img_big = imagecreatefromjpeg($path.$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]);
imagejpeg($img_mini,$path."".$file );
}
elseif ($size['mime']=='image/png' )
{
$img_big = imagecreatefrompng($path.$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,$path."".$file );
}
elseif ($size['mime']=='image/gif' )
{
$img_big = imagecreatefromgif($path.$file);
$img_new = imagecreate($x, $y);
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$path."mini_".$file );
}
}
@unlink($path.$file);
}
?>
Comme je ne suis pas un pro en informatique,est-ce que quelqu'un pourrait m'aider pour ce problème?
Merci d'avance
STEF
A voir également:

3 réponses

Defouille Messages postés 404 Statut Membre 54
 
Bonjour,
as tu un message d'erreur quand tu lances le script (à la main si possible :p).
0
morgan24
 
Non.
La première phase c'est à dire uploader la photo sur le serveur marche(j'ai fait des tests)
C'est lorsque ce script redimensionne l'image que la photo(celle qui est redimensionnée) est écrasée.
la nouvelle photo(au format plus grand) est elle bien créée
0
Defouille Messages postés 404 Statut Membre 54
 
A la fin de la fonction tu as :
@unlink($path.$file); 

qui détruit l'image d'origine, si tu commentes cette ligne, l'image ne sera pas écrasée.
0
morgan24
 
Merci,
Tu dis que cette ligne détruit l'image d'origine.
Donc comment faire pour que l'image redimensionnée soit sur le serveur(car avec mon ancien hébergeur la photo uploadée était écrasée au profit de la photo redimensionnée plus la création d'une photo au format plus grand)
Avec mon nouvel hébergeur j'ai seulement la photo uploadée est écrasée plus la création d'une photo au format plus grand sans la nouvelle photo redimensionnée
0
Defouille Messages postés 404 Statut Membre 54
 
A plusieurs endroit dans le code il y a :
imagejpeg($img_mini,$path."".$file ); 
je pense que c'est un oubli
il faut modifier avec :
imagejpeg($img_mini,$path."mini_".$file ); 
0