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

PHP

 > 

Base de données

 > 

MySQL

 > 

upload d'images en php


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

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= strolower(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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 2,231 sec (3)

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