[recherche] Creer Une Liste D'image En Recuperant


Messages recommandés

Posté(e)

Bonjour tout le monde !

Je suis a la recherche d'un logiciel qui pourrait me creer une liste de fichiers d'images en extrayant les informations de celles ci.

j'ai besoin au minimum des infos suivantes :

Nom; Chemin; Dimension; Poids; nbr couleur;

Exemple :

image1.jpg

c:\temp

1024*768

25 ko

24bits

qu'importe le format de sortie du moment que je puisse l'editer ( c pour editer en php ensuite afin de remplir une BDD )

j'ai essayer avec compupic, acdsee, xnview, et d'autre sahreware/freeware, les resultats sont pas mal mais il manque une valeur a chaque fois...

Merci d'avance !

Posté(e)
Slt,

[GEEK MODE ON]

Fais le toi meme en codant une page php en local qui aura cette routine sur mesure pour tes besoins

[GEEK MODE OFF]

@+

Dje_forever

ben je demande que ca mais je vois pas comment faire un code qui pourrait faire ca :)

Posté(e)

Slt,

alors en vrac nous avons les fonctions :

- filesize : renvoie la taille du fichier en octet

- dirname

- imagesx et imagesy pour width et height

- imagetypes : pour le type d'image

Je te file ca en vrac comme ca viens, j'ai pas le temps de coder et tester. Si j'ai un brin de temps j'essaierais ce soir :)

@+

Dje_forever

Posté(e)

yep exact, et viens de trouver un bout de code pour scanner avec recursivite un rep :)

merci dje de m'avoir remis dans le droit chemin :P

mode programmation comme un fou gooo !

Posté(e)

Slt,

Avec plaisir, quand t'aurais fini tout ca ou que t'as un moment balance moi en pm le bout de code ou le code complet, ca m'interesse aussi et comme je suis un gros faineant j'ai pas envie de le refaire à la pogne :D

@+

Dje_forever

Posté(e) (modifié)

et voila :)

ca marche bien y a juste mon tableau qui foire a cause du 100% mais on s'en tape

PS : foutu copier-coller, ca rend bien mieux dans ultra edit

<?phpfunction list_dir($name){    $extension_list = array("jpg", "jpeg", "psd", "gif", "bmp");            if ($dir = opendir($name))  {    while($file = readdir($dir))     {       // on recupere les 3 derniers caractere du nom de fichier ( exemple : image.jpg  devient 'jpg' )       $extension = substr($file, strlen($file)-3 );              //on verifie que le fichier est bien un nom de fichier reel et que c'est une image       if (($file != '.') AND ($file != '..') AND (in_array($extension, $extension_list)) )          {          // recuperation dimension image :          list($width, $height) = getimagesize("$name/$file");                    // recuperation taille image :          $taille_image=filesize("$name/$file");          // et conversion en ko          $taille_image_ko=round(($taille_image/1000), 2);            ?>      	<table border="1" width="100%" id="table1" align="left">        	<tr>        	<td width='80'><? echo $name         ?> </td>        	<td width='80'><? echo $file         ?> </td>          <td width='80'><? echo $width        ?> </td>          <td width='80'><? echo $height       ?> </td>          <td width='80'><? echo $taille_image." (".$taille_image_ko." ko)" ?> </td>          <td width='80'><? echo $extension    ?> </td>        	</tr>        </table><br>      	<?          }            	if(is_dir($file) && !in_array($file, array(".","..")))        {        	// on dessine le tableau qui indique le nom des colonnes        	?>        	<table border="1" width="100%" id="table1" align="center">          <tr>            <td width='80'>Chemin         </td>            <td width='80'>Nom de fichier </td>            	<td width='80'>Hauteur        </td>            	<td width='80'>Largeur        </td>            	<td width='80'>Taille         </td>            	<td width='80'>Type d image   </td>        	</tr>        </table><br>    	<?        	list_dir($file);        }    	}    closedir($dir);  }}//on execute la fonction :list_dir(".");?> 

Modifié par Pink Floyd
Posté(e)

Slt,

j'ai aucune fonction qui me vient à l'esprit meme en parcourant la quickref de chez php.net..... euhhhhh si tu veux te la jouer barbare jusqu'au bout, faut que tu fasses en fonction du type de fichier à chaque fois une procédure qui va pecho l'info dans le header du fichier.... Des grandes heures de programmation en vue :)

Je dis ca mais je pense qu'un mec à deja du le faire, ca sert donc à rien de le refaire :)

@+

Dje_forever

Posté(e) (modifié)

nouvel version en cours :)

j'ecris deja le resultat dans un bo fichier type CVS, et maintenant le plus beau :

%b retourne : 108kb%d retourne :%e retourne : jpg%f retourne : 0.jpg%h retourne : 1078%w retourne : 800%k retourne : 96490%r retourne : Couleur%b retourne : 151kb%d retourne :%e retourne : jpg%f retourne : 1.jpg%h retourne : 1024%w retourne : 699%k retourne : 78314%r retourne : Couleur%b retourne : 74kb%d retourne :%e retourne : jpg%f retourne : 2.jpg%h retourne : 750%w retourne : 537%k retourne : 256%r retourne : Noir et blanc%b retourne : 227kb%d retourne : details%e retourne : jpg%f retourne : rabbit.jpg%h retourne : 860%w retourne : 720%k retourne : 47872%r retourne : Couleur

boiut de code qui sort ca :

<?php//liste des variables que l'on passe a imagemagick pour recuperer les infos$variable=array('%b', '%d', '%e', '%f', '%h', '%w', '%k', '%r');// pour test only, le nom des images dont une avec un chemin$image=array('0.jpg', '1.jpg', '2.jpg', 'details/rabbit.jpg');// on boucle sur le tableau d'imageforeach ($image as $image_value){  //on boucle cahque variable de imagemagick  foreach ($variable as $variable_value)  	{      	//on execute imagemagick      	$output = shell_exec('identify -format '.$variable_value.' '.$image_value);      	      	//lors du scan dde nombre de couleur on change le resultat en humainement comprehensible      	if (substr($output, 0,6 )=="Pseudo") $output="Noir et blanc";      	if (substr($output, 0,6 )=="Direct") $output="Couleur";      	      	      	//aaffichage du resultat      	echo $variable_value." retourne : ".$output."<br>";  	}	//saut de ligne entre chaque image	echo "<br>";}?>

Modifié par Pink Floyd

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant