listing repertoire

Invité
Invité n'ayant pas de compte PHPfrance

30 déc. 2006, 17:54

Je suis a la recherche d une fonction me permettant de retourner la liste des fichiers extrait d'un zip merci , ma fonction pour dezipper est pclzip.lib.php

Invité
Invité n'ayant pas de compte PHPfrance

30 déc. 2006, 18:12

je m'excuse je n'est peut etre pas était assez clair ....

Voici la procedure actuel de mon script :

il decompresse un zip uploadé sur le serveur dans un dossier temporaire (tmp).
Maintenant j'aimerais que le script supprime automatiquement tous les fichiers qui n'ont pas une extention voulu (ici je ne veux que des images).

Pouvez vous m'aider ?

ViPHP
ViPHP | 3607 Messages

30 déc. 2006, 18:25

regarde du côté des fonctions de répertoire
http://fr.php.net/manual/fr/ref.dir.php

Invité
Invité n'ayant pas de compte PHPfrance

30 déc. 2006, 18:43

Merci joj mais entre temps je me suis orienté vers une fonctions de pclzip.lib.php

voici ce que j'ai codé :
<?
	include('pclzip.lib.php');
function unzip($file,$dossier)
{
	// on crée une instance
	$archive = new PclZip($file);
	// on dézippe notre archive
	if ($archive->extract(PCLZIP_OPT_PATH, $dossier ,PCLZIP_OPT_BY_EREG, '.jpg$') == 0 )
	{
		die("Error : ".$archive->errorInfo(true));
	} 
}
unzip ("site.zip","tmp");

?> 
cette fonction me permet juste d'extraire les fichiers voulus mais maintenant j'ai nouveau probleme ... et oui je sais j'ai beaucoup de probleme.

Mon nouveau probleme : J'ai extrait les fichiers mais maintenat j'aimerai effectuer quelque operation dessus avec la librairie GD j'ai crée pour cella une fonction : (la voici)
<?
function transfere_jpg($image_uploader,$image_copyright,$id,$url)
{
	##################################### Traitement de l'image ############################
	header ("Content-type: image/jpeg");
	$destination = imagecreatefromjpeg($image_uploader);
	// Mis en place d'un Copyright 
		$source = imagecreatefrompng($image_copyright); // Le logo est la source
		$largeur_source = imagesx($source);
		$hauteur_source = imagesy($source);
		$largeur_destination = imagesx($destination);
		$hauteur_destination = imagesy($destination);
		$destination_x = $largeur_destination - $largeur_source;
		$destination_y =  $hauteur_destination - $hauteur_source;
		imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 60);
	// Image + Copyright = $destination
	// Mise en place du nom temporaire :
		$nom_origine = rand();
		$nom = "tmp_".$nom_origine.".jpg";	
	// Enregistrement de l'image +  copyright
		imagejpeg($destination, "tmp/".$nom);
	// Mise en place de la miniature
		$image_grande = imagecreatefromjpeg("tmp/".$nom);
		$miniature = imagecreatetruecolor(100, 100); // On crée la miniature vide
	
		// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
		$largeur_source = imagesx($image_grande);
		$hauteur_source = imagesy($image_grande);
		$largeur_destination = imagesx($miniature);
		$hauteur_destination = imagesy($miniature);
	
		// On crée la miniature
		imagecopyresampled($miniature, $image_grande, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
		$nom_miniature = "thumb_".$nom;
		imagejpeg($miniature, 'tmp/'.$nom_miniature);
	
		//Deplacement du fichier temporaire 
		rename("tmp/".$nom,"image/".$url."/".$nom_origine.".jpg");
		rename("tmp/".$nom_miniature,"image/".$url."/thumb/thumb_".$nom_origine.".jpg");
	//Liberation de la memoire 
		imagedestroy($destination);	
		imagedestroy($source);
		imagedestroy($image_grande);
		imagedestroy($miniature);
	################################# Traitement dans la base de donnees ##############################""
	require("../log.php");
	mysql_query("INSERT INTO image VALUES('','".$id."', '".$nom_origine.".jpg', 'thumb_".$nom_origine.".jpg', '')");
	}
	?>
et j'aimerai appiliquer cette fonction aux fichiers extraits est ce possible car la je bloque .

Merci infiniement
julien

ViPHP
ViPHP | 3607 Messages

30 déc. 2006, 18:48

regarde du côté des fonctions de répertoire
http://fr.php.net/manual/fr/ref.dir.php

Mammouth du PHP | 991 Messages

30 déc. 2006, 18:54

j'ai vu la fonction scandir mais elle me renvoi un array et je ne vois pas vraiment comment l'appliquer a ma fonction je pense peut etre a une boucle for mais je ne voit comment la mettre en place ....
DevOps, Symfony4, Hoa