begin process at 2012 05 31 12:06:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

upload d'img avec resize


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

upload d'img avec resize

mercredi 2 juin 2004 à 13:54:36 | upload d'img avec resize

switsh


Salut tlm !
J'essais d'uper des img en creant une version reduite de celle ci mais ca marche pas trop. Je suis plutot débutant niveau php et on ma passé se script que je n'arrive pas a faire fonctionner si qqn peut m'aider ce serait cool ^^

//le fichier html:

sélectionnez l'image
<form action="upload.php" method="post" enctype="multipart/form-data">

<input type="hidden" name="MAX FILE" value="100000">
<input type="file" name="userfile" value="">
<br>
<input type="submit" value="Envoyer">
</form>

//le fichier php:


<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF">
<?php
//repertoire d'arrivé des images
$uploaddir = 'images/';
//taille max
$tailleMax=1000000;

if($_FILES['userfile']['size']>$tailleMax){
$depasse=$_FILES['userfile']['size']-$tailleMax;
$poidKo=$_FILES['userfile']['size']/1024;
$tailleM=$tailleMax/1024;

print "Le fichier est trop lourd, veuillez ne pas dépasser ".round($tailleM,0)." Ko :\n
Votre fichier pèse ".round($poidKo,0)." Ko et dépasse la limite de ".$depasse." octets ";
}
else{
if($_FILES['userfile']['type']=="image/jpeg"||$_FILES['userfile']['type']=="image/pjpeg"||$_FILES['userfile']['type']=="image/jpg"||$_FILES['userfile']['type']=="image/gif"||$_FILES['userfile']['type']=="image/png"){
$name=$_FILES['userfile']['tmp_name'];
list($width, $height, $type, $attr)=getimagesize("$name");
print "\n\n La taille de l'image est ".$width." * ".$height."\n";

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "Le fichier est valide, et a été téléchargé avec succès.\n\n";

//redimension de l'image uploadé
$taille=200; // longueur souhaité pour l'image
$qualite=100; // qualite du jpeg
$chaine=$_FILES['userfile']['name'];
$facteur=$width/$taille;
$l=round($width/$facteur,0);
$h=round($height/$facteur,0);

if($_FILES['userfile']['type']=="image/jpeg"||$_FILES['userfile']['type']=="image/pjpeg"||$_FILES['userfile']['type']=="image/jpg"){
$src = imagecreatefromjpeg($uploaddir . $_FILES['userfile'] ['name']);//cree une instance de l'image DL

$im = @ImageCreateTrueColor ($l, $h) or die ("Erreur lors de la création de l'image");//cree une image vide en vraie couleur de la taille de la miniature
ImageCopyResampled($im,$src, 0, 0, 0, 0, $l,$h, $width, $height);//
ImageString ($im, 5, 2, 2, $chaine,imagecolorallocate($im, 0, 0, 240) );//ecri le nom de l'image(image,police,x,y,couleur)

imagejpeg($im, "imagesmini/".$_FILES['userfile'] ['name'],$qualite);//ecrit sur le disque (imagesource,detination, qualité)
}

if($_FILES['userfile']['type']=="image/gif"){
$src = imagecreatefromgif($uploaddir . $_FILES['userfile'] ['name']);//cree une instance de l'image DL

$im = @ImageCreateTrueColor ($l, $h) or die ("Erreur lors de la création de l'image");//cree une image vide en vraie couleur de la taille de la miniature
ImageCopyResampled($im,$src, 0, 0, 0, 0, $l,$h, $width, $height); //
ImageString ($im, 5, 2, 2, $chaine,imagecolorallocate($im, 0, 0, 240) )//ecri le nom de l'image(image,police,x,y,couleur)

imagepng($im, "imagesmini/".$_FILES['userfile'] ['name'],$qualite);//ecrit sur le disque (imagesource,detination, qualité)
}
if($_FILES['userfile']['type']=="image/png"){
$src = imagecreatefrompng($uploaddir . $_FILES['userfile'] ['name']);//cree une instance de l'image DL

$im = @ImageCreateTrueColor ($l, $h) or die ("Erreur lors de la création de l'image");//cree une image vide en vraie couleur de la taille de la miniature
ImageCopyResampled($im,$src, 0, 0, 0, 0, $l,$h, $width, $height); //
ImageString ($im, 5, 2, 2, $chaine,imagecolorallocate($im, 0, 0, 240) );//ecri le nom de l'image(image,police,x,y,couleur)

imagepng($im, "imagesmini/".$_FILES['userfile'] ['name']);//ecrit sur le disque (imagesource,detination, qualité)
}
print "Pour être en conformité avec le site il à été redimensionné à la taille $l * $h\n\n";

} else {
echo "Attaque par upload potentielle. Voici plus d'informations :\n";
print_r($_FILES);
}
}else{
print "Le fichier n'est pas de type jpeg,png ou gif mais de type ".$_FILES['userfile']['type'];
}
}

//liberation des resources
imagedestroy();
?>
</body>
</html>



mercredi 2 juin 2004 à 14:07:26 | Re : upload d'img avec resize

switsh

Si je remplace image/jpg image/png etc ... par images/jpg images/png (je mes des "s" car mon chemin est: $uploaddir = 'images/';
J'ai un probleme avec la fonction imagedestroy(); sirué tout en bas.
Je l'ai desactivé pour voir et la je n'ai plus d'eereur il me dit qu'il cré la miniature mais rien. La grande image est uploadé mais pas la petite.


mercredi 2 juin 2004 à 15:58:56 | Re : upload d'img avec resize

phpwankenobi


Salut,:

Le proto de la fonction :

int imagedestroy ( resource image )

imagedestroy libère toute la mémoire associée à l'image image . image est un identifiant d'image valide retourné par imagecreate .

Donc je pense qu'il faut faire :

imagedestroy($im);

Ceci ne résoud pas ton problème d'upload de la miniature, mais là je ne vois pas pour l'instant...
jeudi 3 juin 2004 à 06:38:22 | Re : upload d'img avec resize

phpwankenobi


Re-salut,

J'ai une piste !

Dans le cas du jpeg, si tu utilises ces deux lignes à la place des tiennes , cela marche !!!!



$im = @ImageCreate ($l, $h) or die ("Erreur lors de la création de l'image");
ImageCopyResized($im,$src, 0, 0, 0, 0, $l,$h, $width, $height);//


au lieu de ton code:


$im = @ImageCreateTrueColor ($l, $h) or die ("Erreur lors de la création de l'image");//cree une image vide en vraie couleur de la taille de la miniature
ImageCopyResampled($im,$src, 0, 0, 0, 0, $l,$h, $width, $height);//


Mais qu'est-ce que cela veut dire ?

Bon sang mais c'est bien sur, c'est le niveau de la librairie GD qui n'est pas adapté à tes instructions ....
Tu peux controler le niveau de GD installé avec phpinfo()

Ensuite tu vas dans la doc et tu cherches la compatibilité des fonctions utilisées avec le niveau de librairie GD dont tu disposes. Attention en dev et en prod, cela peut ne pas être le même niveau....

Bon courage...


jeudi 3 juin 2004 à 12:22:37 | Re : upload d'img avec resize

switsh


C cool merci a toi je vais essayer direct merci !!


Cette discussion est classée dans : type, image, files, im, userfile


Répondre à ce message

Sujets en rapport avec ce message

problème avec les if et les else... [ par sebmayer ] Bonjour,voila j'ai créé un petit programme pour uploader mes images, mais j'ai un petit problème avec mes vérifications de champs (les else et les if. Récupérer résolution image? [ par Monico9385 ] Bonjour à tous, je viens ici car j'ai un soucis, c'est que j'aimerai récupérer la résolution d'une image envoyée à l'aide d'un input type files. Et je Les fichiers [ par Bumcello ] Bonjour,Le script suivant sert à uploader des images de types differents. Et donc si je choisis un fichier jpeg cela ne fonctionne pas cela m'affiche affichage d'un message non desire [ par guisx00 ] Bonjour, Je suis entrain de me remettre dans le php et je n'arrive plus à faire fonctionne correctement mon code J'avais cree avec des bout de code Upload ? [ par robapt ] Bonjour, je fais pour un site en ce moment un code qui demande un mots de passe avant qu'on puisse uploader le fichier qu'on choisit, j'ai les 2 code problème avec $_FILES [ par nicomilville ] Salut,J'ai un problème avec un code qui est censé uploader une image et mettre son chemin dans une base de donnée...Je n'ai aucune erreur...Mon code P correction d'un script upload image [ par smed79 ] bonjour,j'ai besoin de votre aide pour  modifier et corriger un script upload image. j'ai un probleme avec le message d'erreur pour la taille maximum Pb upload php [ par ninho44 ] Bonjour, voila j'ai un petit probleme pour uploader une image et c'est la 1ere fois que je fais ça...je suis un peu perdu.EN fait, je ne vois pas pour insertion image [ par ahlemlo ] bonjourj'ai un formulaire avec un image à insérer   dans la bd dje veux que l'insertion d'image n'est pas obligatoire j'ai comme ça mais ne marche pas uploader une image [ par ouzb ] Bonjour j'ai un probleme avec un upload voici mon code n'enregistre pas dans la base de données et le move upload ne marche pas if(isset($_FILES['logo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales