par
Invité » 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
Merci joj mais entre temps je me suis orienté vers une fonctions de pclzip.lib.php
voici ce que j'ai codé :
[php]<?
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");
?>
[/php]
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)
[php]<?
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', '')");
}
?>[/php]
et j'aimerai appiliquer cette fonction aux fichiers extraits est ce possible car la je bloque .
Merci infiniement
julien