Comment recuperer dans une variable resultat d'un upload ?

Résolu
fredericmaill Messages postés 144 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 22 mars 2006 - 28 déc. 2005 à 15:15
fredericmaill Messages postés 144 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 22 mars 2006 - 29 déc. 2005 à 13:25
Bonjour,



je fais un upload d'une image et j'aimerais savoir comment recuper dans une variable l'image que j'ai uploadé.

car je dois la passer en parametre dans une fonction pour en modifier sa taille.




Mon code de l'upload :



<?php



//On paramétre la largeur, la hauteur et le poids maxi à ne pas dépasser.

$width_maxi = "30000";

$height_maxi = "50000";

$taille_maxi ="307200";//bytes



$fichier = $_FILES['fichier']['name'];

$taille=$_FILES['fichier']['size'];

$tmp = $_FILES['fichier']['tmp_name'];

$size_tmp=getimagesize ($tmp);



if ($fichier !="none"){

if (($taille < $taille_maxi)&&

($size_tmp[0]<=$width_maxi)&&($size_tmp[1]<=$height_maxi)){

$point=strrpos($fichier, ".");



if ($point)

$extension=substr ($fichier, $point);

else

$extension ="";



$date=date("ymdhis");



//indiquer l'url relative vers le dossier d'upload

$chemin="./image/";

//un nouveau nom qui prend en compte la date, l'heure, les minutes

//et secondes est crée ; ainsi, aucune image ne peut être écrasée sur le serveur

$nouveau_nom = $chemin.$date.$extension;



if ( move_uploaded_file($tmp, $nouveau_nom)) {

echo "Transfert du fichier réussi";

echo"
";

echo $fichier;

echo"
";

$size=getimagesize ($nouveau_nom);

echo "Largeur = ".$size[0]." pixels
";

echo "Hauteur = ".$size[1]." pixels
";

echo "Poids = ".$taille." octets
";

form();

}



else {

$taille_maxi_ko=$taille_maxi/1024;

echo "Transfert échoué
";

echo "La largeur de l'image ne doit pas être supérieure à $width_maxi pixels.
";

echo "La hauteur de l'image ne doit pas être supérieure à $height_maxi pixels.
";

echo "Le fichier ne doit pas dépasser $taille_maxi_ko Ko.
";

form();

}



}

else {

$taille_maxi_ko=$taille_maxi/1024;

echo "Le fichier est trop lourd : envoi refusé


Le fichier ne doit pas dépasser $taille_maxi_ko Ko.
";

echo "La largeur de l'image ne doit pas être supérieure

à $width_maxi pixels; elle fait ici $size_tmp[0] pixels
";

echo "La hauteur de l'image ne doit pas être supérieure

à $height_maxi pixels ; elle fait ici $size_tmp[1] pixels
";

form();

}



}



//le formulaire d'upload

function form() {

global $taille_maxi;

echo "<hr/>\n";

echo "\n<form enctype="multipart/form-data" action="upload.php"

method="post">";

echo "\n";

echo "\nTaille maximale du fichier acceptée: " . ($taille_maxi / 1024) . "KB";

echo "\n";

echo
"\n";

echo "\n

";

echo "\n</form>\n\n</html>\n";



}



?>









Merci par avance



Frédéric

vive PHP !!!, vive la prog !!!

6 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 déc. 2005 à 17:11
Salut,
dans ce cas, il te faut l'adresse de l'image qui est (cf un commentaire plus haut) $_FILES['fichier']['tmp_name']

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
3
fredericmaill Messages postés 144 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 22 mars 2006
29 déc. 2005 à 13:25
j'avais deja essayer $_FILES['fichier']['tmp_name'] et ca marchais pas avec ma fonction, j'ai fais d'une autre methode , sans cette fonction et ca fonctionne.

voici mon code :
<?php


include("../classes/mysql.class.php");


$type_fichier = $_FILES['fichier']['type'];
// recuperation de la taille de la photo
$taille_fichier = $_FILES['fichier']['size'];
// image blob
$imag_blob = file_get_contents ($_FILES['fichier']['tmp_name']);
$imag_blob= addslashes($imag_blob);


// dimention du fichier image
$infos_img = getimagesize($_FILES['fichier']['tmp_name']);


$largeur = $infos_img[0];
$hauteur = $infos_img[1];

// verification de l'extention du fichier


if( !strstr($type_fichier, 'jpg') && !strstr($type_fichier, 'jpeg') && !strstr($type_fichier, 'bmp') && !strstr($type_fichier, 'png') )
{
echo"Le fichier n'est pas une image valide ( jpg, jpeg, bmp ou png )";
}
else
{




// Largeur maximal de l'image du logo
$largeurimage=120;


// On vérigfie si un fichier IMAGE a bien été transféré
// none c'est la valeur prise par la champ du formulaire s'il n'y a pas eut de nouvelle image de rentrée



if ($_FILES['fichier']['tmp_name'] !='' )
{
// définition de l'espace destiné à recevoir les images
$nom_destination="./images/";

// on renomme la vignette la date du download
$date=date("ymdhis");
$nouveau_nom=$date.".jpg";

if (is_uploaded_file($_FILES['fichier']['tmp_name']))
{
move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_destination.$nouveau_nom);

// enregistrement de l'image en base de données
$sql = new mysql("localhost","root","", "boutiques","1","erreur" );
$sql->requete("INSERT INTO image (imag_nom , imag_taille , imag_lienrep, imag_type, imag_image, imag_largeur,imag_hauteur, id_boutique ) VALUES ('$nouveau_nom', '$taille_fichier', '$nom_destination','$type_fichier','$imag_blob','$largeur', '$hauteur','$boutique')","0");
$sql->deconnexion($sql);

}

$image="$nom_destination$nouveau_nom";
$img=imagecreatefromjpeg($image);

if ($largeur>$largeurimage)
{
$entroplargeur=$largeur-$largeurimage;
$largeur2=$largeur-$entroplargeur;
$hauteur2=round(($largeur2/$largeur)*$hauteur);
$img3=imagecreate($largeur2,$hauteur2);
imagecopyresized($img3,$img,0,0,0,0,$largeur2,$hauteur2,$largeur,$hauteur);
$image_retaillee="$nom_destination$nouveau_nom";
imagejpeg($img3,$image_retaillee,100);
}
}
Else
{
$nouveau_nom="";
}

// On vérifie qu'il y'a une image
If ($_FILES['fichier']['tmp_name']!='')
{
echo ' Upload de la photo ci-dessous reussi :

<table width="751" border="0" cellspacing="10" cellpadding="0" align="center">
<TR>
<TD width="'.$largeurimage.'" valign="top">

</TD>
';
}
else
{
echo' ECHEC UPLOAD !!!';
}


}
?>

Merci coucou777

vive PHP vive la prog !!!
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 déc. 2005 à 15:47
Salut,

tu dois récupérer l'image, mais quoi ? son adresse, son
id de ressource (une fois ouverte avec gd), ou son contenu (chaine de
caractère...)

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
28 déc. 2005 à 15:50
Une fois le formulaire envoyé, le chemin vers l'image est $_FILES['fichier']['tmp_name']

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 déc. 2005 à 16:11
Salut,

mais je tien à signaler qu'avant de poster un code comme ça, tu pourrais le corrifer un minimum...



on ne met pas :

<strike>

echo "Transfert du fichier réussi";

echo"
";

echo $fichier;

echo"
";

$size=getimagesize ($nouveau_nom);

echo "Largeur = ".$size[0]." pixels
";

echo "Hauteur = ".$size[1]." pixels
";

echo "Poids = ".$taille." octets
";

</strike>

mais



$size=getimagesize ($nouveau_nom);

echo 'Transfert du fichier réussi
'.$fichier.'


Largeur = '.$size[0].' pixels


Hauteur = '.$size[1].' pixels


Poids = '.$taille.' octets
';

entre autre....




In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
fredericmaill Messages postés 144 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 22 mars 2006
28 déc. 2005 à 16:17
c pour alimenter une fonction qui utilise la lib gd, l'image uploadé vas reseigné la fonction gd :



$img_in = ImageCreateFromJpeg($image);



$image etant donc l'image uploader


vive PHP !!!, vive la prog !!!
0
Rejoignez-nous