Accueil > Forum > > > > upload d'images en php
upload d'images en php
samedi 7 mai 2011 à 20:07:30 |
upload d'images en php

azorkot
|
salut je travail sur mon projet de fin d'année et là j'essaie d'uploader des images!! mais j'arrive pas à les stocker ou plutôt à les afficher dans le dossier de destination et sa me fatigueeeeee!! :( quant à la base de données qui contiendra les infos sur l'images et l'url je ne l'ai pas encore faite puisque l'upload en lui mm ne fonctionne pas. Pouvez-vous m'aidez??? voici mon code:
Code HTML : <body>
<form method="post" action="image.php" enctype="multipart/form-data">
<input type="file" name="img"/>
<input type="submit" name="envoyer" />
</form>
[code=php]<?php
//partie de recuperation de l'image:
if(!empty($_FILES))// pas de vide
{ require("imgClass.php");
//imgclass contient la fonction creerMin qui permet de creer une miniature de l'image uploadé
$img= $_FILES['img'];
$ext= strtolower(substr ($img['name'],-3));//afficher l'extention
$allow_ext = array('jpg','png','gif');//autorisation des extention jpg,png,gif
if(in_array($ext, $allow_ext)){ move_uploaded_file($img['tmp_name'],"images/"$img['name']);
//deplacement du fichier dans un dossier "images"
Img::creerMin("images/"$img['name'],"images/min",$img['name'],200,100);
}
else{
$erreur ="votre fichier n'est pas une image";
}
}
?>
COTE PHP:
<?php
if(isset($erreur)){
echo $erreur;
}
?>
<?php
//afficher les differente miniature du dossier min
$dos = "images/min";
$dir = opendir($dos);
while($file = readdir($dir)){ //parcourir lensemble des fichier du dossier
$allow_ext = array('jpg','png','gif');
$ext= strolower(substr ($file,-3));
if(in_array($ext, $allow_ext)){?>
<img src="images/min/<?php
echo $file; ?>" />
<?php
}
}
?>
MERCI POUR VOTRE AIDE!!
|
|
samedi 7 mai 2011 à 22:46:02 |
Re : upload d'images en php

cod57
|
bonsoir
quelques erreurs ...
$ext= str olower(substr ($file,-3));
$ext= strtolower(substr ($file,-3));
comme ça
ça doit le faire
a++
Code PHP :
<body>
<form method="post" action="image.php" enctype="multipart/form-data">
<input type="file" name="img"/>
<input type="submit" name="envoyer" />
</form>
<?php
if(file_exists('images')){
}else{
mkdir('images');
}
if(file_exists('images/min')){
}else{
mkdir('images/min');
}
//partie de recuperation de l'image:
if(!empty($_FILES['img'])){
echo '<pre>';
print_r($_FILES['img']);
echo '</pre>';
// pas de vide
require("imgClass.php");
//imgclass contient la fonction creerMin qui permet de creer une miniature de l'image uploadé
$img=$_FILES['img'];
$ext= strtolower(substr($img['name'],-3));//afficher l'extention
$allow_ext = array('jpg','png','gif');//autorisation des extention jpg,png,gif
if(in_array($ext, $allow_ext)){
move_uploaded_file($img['tmp_name'],'images/'.$img['name']);
//deplacement du fichier dans un dossier "images"
Img::creerMin('images/'.$img['name'],'images/min',$img['name'],200,100);
}else{
$erreur ="votre fichier n'est pas une image";
}
}
if(isset($erreur)){
echo $erreur;
}else{
}
//afficher les differente miniature du dossier min
$dos = "images/min";
//$dos = "images";
if($dir=opendir($dos)){
while($file = readdir($dir)){ //parcourir lensemble des fichier du dossier
$allow_ext = array('jpg','png','gif');
$ext= strtolower(substr ($file,-3));
if(in_array($ext, $allow_ext)){
echo '<img src="images/min'.$file.'" /><br />';
}else{
//rien
}
}
}else{
//empty dir
}
?>
 Bonne programmation !
|
|
samedi 7 mai 2011 à 22:49:59 |
Re : upload d'images en php

azorkot
|
MERCI cod57!! je l'essai et je te fai signe ;)
s'est gentil de ta part:)
|
|
samedi 7 mai 2011 à 22:55:40 |
Re : upload d'images en php

azorkot
|
voila ce ke je reçois :
'; print_r($_FILES['img']); echo ''; // pas de vide require("imgClass.php"); //imgclass contient la fonction creerMin qui permet de creer une miniature de l'image uploadé $img=$_FILES['img']; $ext= strtolower(substr($img['name'],-3));//afficher l'extention $allow_ext = array('jpg','png','gif');//autorisation des extention jpg,png,gif if(in_array($ext, $allow_ext)){ move_uploaded_file($img['tmp_name'],'images/'.$img['name']); //deplacement du fichier dans un dossier "images" Img::creerMin('images/'.$img['name'],'images/min',$img['name'],200,100); }else{ $erreur ="votre fichier n'est pas une image"; } } if(isset($erreur)){ echo $erreur; }else{ } //afficher les differente miniature du dossier min $dos = "images/min"; //$dos = "images"; if($dir=opendir($dos)){ while($file = readdir($dir)){ //parcourir lensemble des fichier du dossier $allow_ext = array('jpg','png','gif'); $ext= strtolower(substr ($file,-3)); if(in_array($ext, $allow_ext)){ echo '
'; }else{ //rien } } }else{ //empty dir } ?>
:s:s:s:
|
|
samedi 7 mai 2011 à 23:09:57 |
Re : upload d'images en php

cod57
|
j'ai testé chez moi comme ça
avec une class à moi
c'est ok tu peux tester ...
image.php
Code PHP :
<body>
<form method="post" action="image.php" enctype="multipart/form-data">
<input type="file" name="img"/>
<input type="submit" name="envoyer" />
</form>
<?php
class Image{
public static $useGD = true; // On utilise la librairie GD ?
public static $quality = 90;
/**
* Permet de redimensionner/cropper une image
* @param $img String Chemin absolu de l'image d'origine
* @param $dest String Chemin absolu de l'image générée (.jpg)
* @param $largeur Int Largeur de l'image générée, si 0 cette valeur sera calculé en fonction de la hauteur
* @param $hauteur Int Hauteur de l'image générée, si 0 cette valeur sera calculé en fonction de la largeur
* Si largeur et hauteur = 0 l'image gardera son format d'origine mais sera convertie en JPG
**/
public static function resize($img,$dest,$largeur=0,$hauteur=0){
// On récupère les dimensions de l'image
$dimension=getimagesize($img);
$ratio = $dimension[0] / $dimension[1]; // Et son ratio
// On trouve les dimension finale
// (si on a passé 0 en paramètre c'est que l'on veut que le paramètre s'adapte pour conserver le ratio)
if($largeur==0 && $hauteur==0){ $largeur = $dimension[0]; $hauteur = $dimension[1]; }
else if($hauteur==0){ $hauteur = round($largeur / $ratio); }
else if($largeur==0){ $largeur = round($hauteur * $ratio); }
// Si on doit "cropper" l'image on cherche de cb de px on doit décaler l'image miniatures pour la centrer
if($dimension[0]>($largeur/$hauteur)*$dimension[1] ){ $dimY=$hauteur; $dimX=round($hauteur*$dimension[0]/$dimension[1]); $decalX=($dimX-$largeur)/2; $decalY=0;}
if($dimension[0]<($largeur/$hauteur)*$dimension[1]){ $dimX=$largeur; $dimY=round($largeur*$dimension[1]/$dimension[0]); $decalY=($dimY-$hauteur)/2; $decalX=0;}
if($dimension[0]==($largeur/$hauteur)*$dimension[1]){ $dimX=$largeur; $dimY=$hauteur; $decalX=0; $decalY=0;}
// On crée l'image avec la librairie GD
if(self::$useGD){
$miniature =imagecreatetruecolor ($largeur,$hauteur);
if(substr($img,-4)==".jpg" || substr($img,-4)==".JPG"){$image = imagecreatefromjpeg($img); }
if(substr($img,-4)==".png" || substr($img,-4)==".PNG"){$image = imagecreatefrompng($img); }
if(substr($img,-4)==".gif" || substr($img,-4)==".GIF"){$image = imagecreatefromgif($img); }
imagecopyresampled($miniature,$image,-$decalX,-$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]);
imagejpeg($miniature,$dest,self::$quality);
return true;
// Ou on utilise imagemagick
}else{
$cmd = '/usr/bin/convert -resize '.$dimX.'x'.$dimY.' "'.$img.'" "'.$dest.'"';
shell_exec($cmd);
$cmd = '/usr/bin/convert -gravity Center -quality '.self::$quality.' -crop '.$largeur.'x'.$hauteur.'+0+0 -page '.$largeur.'x'.$hauteur.' "'.$dest.'" "'.$dest.'"';
shell_exec($cmd);
}
return true;
}
}
if(file_exists('images')){
}else{
mkdir('images');
}
if(file_exists('images/min')){
}else{
mkdir('images/min');
}
//partie de recuperation de l'image:
if(!empty($_FILES['img'])){
echo '<pre>';
print_r($_FILES['img']);
echo '</pre>';
// pas de vide
//require("imgClass.php");
//imgclass contient la fonction creerMin qui permet de creer une miniature de l'image uploadé
$img=$_FILES['img'];
$ext= strtolower(substr($img['name'],-3));//afficher l'extention
$allow_ext = array('jpg','png','gif');//autorisation des extention jpg,png,gif
if(in_array($ext, $allow_ext)){
move_uploaded_file($img['tmp_name'],'images/'.$img['name']);
//deplacement du fichier dans un dossier "images"
//Image::creerMin('images/'.$img['name'],'images/min',$img['name'],200,100);
Image::resize('images/'.$img['name'],'images/min/'.$img['name'],360,240);
//resize($img,$dest,$largeur=0,$hauteur=0){
}else{
$erreur ="votre fichier n'est pas une image";
}
}
if(isset($erreur)){
echo $erreur;
}else{
}
//afficher les differente miniature du dossier min
$dos = "images/min";
//$dos = "images";
if($dir=opendir($dos)){
while($file = readdir($dir)){ //parcourir lensemble des fichier du dossier
$allow_ext = array('jpg','png','gif');
$ext= strtolower(substr ($file,-3));
if(in_array($ext, $allow_ext)){
echo '<img src="images/min/'.$file.'" /><hr>';
}else{
//rien
}
}
}else{
//empty dir
}
?>
 Bonne programmation !
|
|
samedi 7 mai 2011 à 23:21:20 |
Re : upload d'images en php

azorkot
|
oui encore moii cod57 si j'insiste a terminer sa ce soir s'est pck sa ma pris assez de temps et si j'ai pû terminer sa le reste du site s'est rapidos!!
tjrs le mm blem , refuse de compiler sa me fais resortir le code une foix que j'appuie sur envoyer :
($largeur/$hauteur)*$dimension[1] ){ $dimY=$hauteur; $dimX=round($hauteur*$dimension[0]/$dimension[1]); $decalX=($dimX-$largeur)/2; $decalY=0;} if($dimension[0]<($largeur/$hauteur)*$dimension[1]){ $dimX=$largeur; $dimY=round($largeur*$dimension[1]/$dimension[0]); $decalY=($dimY-$hauteur)/2; $decalX=0;} if($dimension[0]==($largeur/$hauteur)*$dimension[1]){ $dimX=$largeur; $dimY=$hauteur; $decalX=0; $decalY=0;} // On crée l'image avec la librairie GD if(self::$useGD){ $miniature =imagecreatetruecolor ($largeur,$hauteur); if(substr($img,-4)==".jpg" || substr($img,-4)==".JPG"){$image = imagecreatefromjpeg($img); } if(substr($img,-4)==".png" || substr($img,-4)==".PNG"){$image = imagecreatefrompng($img); } if(substr($img,-4)==".gif" || substr($img,-4)==".GIF"){$image = imagecreatefromgif($img); } imagecopyresampled($miniature,$image,-$decalX,-$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]); imagejpeg($miniature,$dest,self::$quality); return true; // Ou on utilise imagemagick }else{ $cmd = '/usr/bin/convert -resize '.$dimX.'x'.$dimY.' "'.$img.'" "'.$dest.'"'; shell_exec($cmd); $cmd = '/usr/bin/convert -gravity Center -quality '.self::$quality.' -crop '.$largeur.'x'.$hauteur.'+0+0 -page '.$largeur.'x'.$hauteur.' "'.$dest.'" "'.$dest.'"'; shell_exec($cmd); } return true; } } if(file_exists('images')){ }else{ mkdir('images'); } if(file_exists('images/min')){ }else{ mkdir('images/min'); } //partie de recuperation de l'image: if(!empty($_FILES['img'])){ echo '
';
print_r($_FILES['img']);
echo '
'; // pas de vide //require("imgClass.php"); //imgclass contient la fonction creerMin qui permet de creer une miniature de l'image uploadé $img=$_FILES['img']; $ext= strtolower(substr($img['name'],-3));//afficher l'extention $allow_ext = array('jpg','png','gif');//autorisation des extention jpg,png,gif if(in_array($ext, $allow_ext)){ move_uploaded_file($img['tmp_name'],'images/'.$img['name']); //deplacement du fichier dans un dossier "images" //Image::creerMin('images/'.$img['name'],'images/min',$img['name'],200,100); Image::resize('images/'.$img['name'],'images/min/'.$img['name'],360,240); //resize($img,$dest,$largeur=0,$hauteur=0){ }else{ $erreur ="votre fichier n'est pas une image"; } } if(isset($erreur)){ echo $erreur; }else{ } //afficher les differente miniature du dossier min $dos = "images/min"; //$dos = "images"; if($dir=opendir($dos)){ while($file = readdir($dir)){ //parcourir lensemble des fichier du dossier $allow_ext = array('jpg','png','gif'); $ext= strtolower(substr ($file,-3)); if(in_array($ext, $allow_ext)){ echo ''; }else{ //rien } } }else{ //empty dir } ?>
bizarre non?? dsl je te fatigue ;)
|
|
samedi 7 mai 2011 à 23:31:46 |
Re : upload d'images en php

cod57
|
je sais pas ... mais chez moi il fonctione nickel
ton serveur est il actif
sur quoi travailles tu
linux ,windows, wamp, easyphp, un serveur distant
as tu bien sauvé le fichier avec l'extension .php ->image.php
utilises tu
<?php
..
?>
on dirait que ton CODE n'est pas interpreté PAR PHP
as tu activé l'extension GD
 Bonne programmation !
|
|
samedi 7 mai 2011 à 23:34:28 |
Re : upload d'images en php

azorkot
|
je suis sur windows !! oui s'est ce que je remarque le php ne compile pas, concernant le wamp je compte l'utiliser pr créer une table d'infos associé aux images uploadée mais faudrais bien que ce dernier marche!
commen activer lextension GD??
|
|
samedi 7 mai 2011 à 23:46:42 |
Re : upload d'images en php

cod57
|
installe wamp 2
tu clique sur
php_gd2
verifie que tout est actif
 Bonne programmation !
|
|
dimanche 8 mai 2011 à 15:31:26 |
Re : upload d'images en php

azorkot
|
salut j'ai toujours le probleme de compilation du code php pourtant j'ai activé le php_gd2 !!
quelqu'un peut il m'aider??
|
|
Cette discussion est classée dans : images, code, php, upload
Répondre à ce message
Sujets en rapport avec ce message
upload images php 4 [ par mariuscesar ]
salut , j'ai un pb svp. en fait mon hénergeur est passé à php 4.3.6 et je n'arrive pas à uploader les fichiers comme au paravent. ke faire ???
La gestion des fichiers avec PHP et MySQL [ par osscour ]
Bonjour, je souhaite créer un site de contenu type mini-journal(le genre de site que l'on peut faire avec SPIP). Je me pose des questions sur la maniè
multiple upload a mysql avec php [ par Xavihb ]
Salut,J'aurais besoin de savoir comment faire un multiple upload d'images à une base de données mySQL à l'aide de PHP. Les champs des images sont du
incrementation en php [ par kyript ]
bonjour en faite dans mon formulaire, on peut upload un fichier mais le pb j'aimerai genere un code qui s'increment a chaque upload de fichier
superposer 2 images [ par scyon ]
Bonjour, alors voilà mon problème. Je voudrais tout simplement superposer deux images. d'une page, j'appelle la page image.php en lui passant les deux
Aide Code Upload PHP [ par MaitreLgTbD ]
Bonjour, C'est encore moi je sollicite votre aide, actuellement en stage mon projet sollicite un bout de code de upload tous fichiers confondu (la plu
Php et connection externe [ par matouyo ]
Bonjour a tous. J'ai un problème ds un bout de code php qui permet de générer automatiquement un galerie de photos. Je vous expose mon souci: Dans
Upload d'images : prévisualisation avant upload avec php+ajax+javascript [ par amewole ]
Bonjour à vous tous, Je suis à la recherche d'un script php+ajax+javascript permettant de faire un preview des images avant le upload c'est à dire qu
Mise a jour des variables sessions après un <iframe> [ par alaska749 ]
Bonjour, Ce bout de code permet d'effectuer un upload d'image le tout sans rechargement de la page (via la balise iframe), tout semble fonctionner co
Problème basique // Upload de Fichiers [ par Sskud ]
Bonsoir à tous et à toutes, J'ai un soucis de base sur l'upload d'un fichier sur un server comme l'indique le titre [^^clinoeil1]. [code=php]<?php
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|