par
virginweb » 08 déc. 2011, 14:05
Donc le imagedestroy() d'après vous je le met où ?
Dans mon fichier upload.php :
Code : Tout sélectionner
<?php
require('img.class.php');
foreach ($_FILES["images"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$name = $_FILES["images"]["name"][$key];
$galerie = $_POST['galerie'];
move_uploaded_file( $_FILES["images"]["tmp_name"][$key], "../img/galeries/".$galerie."/" . $_FILES['images']['name'][$key]);
Img::creerMin("../img/galeries/".$galerie."/".$_FILES["images"]['name'][$key],"../img/galeries/".$galerie."/min/",$_FILES['images']['name'][$key],155,105);
}
}
header('Location: index.php');
?>
Ou dans ma classe image ?
Code : Tout sélectionner
static function creerMin($img,$chemin,$nom,$mlargeur=155,$mhauteur=105)
{
// On supprime l'extension du nom
$nom = substr($nom,0,-4);
// On récupère les dimensions de l'image
$dimension=getimagesize($img);
// On cré une image à partir du fichier récup
if(substr(strtolower($img),-4)==".jpg"){$image = imagecreatefromjpeg($img); }
else if(substr(strtolower($img),-4)==".png"){$image = imagecreatefrompng($img); }
else if(substr(strtolower($img),-4)==".gif"){$image = imagecreatefromgif($img); }
// L'image ne peut etre redimensionne
else{return false; }
// Création des miniatures
// On cré une image vide de la largeur et hauteur voulue
$miniature =imagecreatetruecolor ($mlargeur,$mhauteur);
// On va gérer la position et le redimensionnement de la grande image
if($dimension[0]>($mlargeur/$mhauteur)*$dimension[1] ){ $dimY=$mhauteur; $dimX=$mhauteur*$dimension[0]/$dimension[1]; $decalX=-($dimX-$mlargeur)/2; $decalY=0;}
if($dimension[0]<($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mlargeur*$dimension[1]/$dimension[0]; $decalY=-($dimY-$mhauteur)/2; $decalX=0;}
if($dimension[0]==($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mhauteur; $decalX=0; $decalY=0;}
// on modifie l'image crée en y plaçant la grande image redimensionné et décalée
imagecopyresampled($miniature,$image,$decalX,$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]);
// On sauvegarde le tout
imagejpeg($miniature,$chemin."/".$nom.".jpg",90);
return true;
}
Parce que je n'ai pas tout compris l'histoire de la classe à AB j'ai essayer de la faire marché mais est-ce qu'il gère le multi-upload ?
Donc le imagedestroy() d'après vous je le met où ?
Dans mon fichier upload.php :
[code]<?php
require('img.class.php');
foreach ($_FILES["images"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$name = $_FILES["images"]["name"][$key];
$galerie = $_POST['galerie'];
move_uploaded_file( $_FILES["images"]["tmp_name"][$key], "../img/galeries/".$galerie."/" . $_FILES['images']['name'][$key]);
Img::creerMin("../img/galeries/".$galerie."/".$_FILES["images"]['name'][$key],"../img/galeries/".$galerie."/min/",$_FILES['images']['name'][$key],155,105);
}
}
header('Location: index.php');
?>[/code]
Ou dans ma classe image ?
[code]static function creerMin($img,$chemin,$nom,$mlargeur=155,$mhauteur=105)
{
// On supprime l'extension du nom
$nom = substr($nom,0,-4);
// On récupère les dimensions de l'image
$dimension=getimagesize($img);
// On cré une image à partir du fichier récup
if(substr(strtolower($img),-4)==".jpg"){$image = imagecreatefromjpeg($img); }
else if(substr(strtolower($img),-4)==".png"){$image = imagecreatefrompng($img); }
else if(substr(strtolower($img),-4)==".gif"){$image = imagecreatefromgif($img); }
// L'image ne peut etre redimensionne
else{return false; }
// Création des miniatures
// On cré une image vide de la largeur et hauteur voulue
$miniature =imagecreatetruecolor ($mlargeur,$mhauteur);
// On va gérer la position et le redimensionnement de la grande image
if($dimension[0]>($mlargeur/$mhauteur)*$dimension[1] ){ $dimY=$mhauteur; $dimX=$mhauteur*$dimension[0]/$dimension[1]; $decalX=-($dimX-$mlargeur)/2; $decalY=0;}
if($dimension[0]<($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mlargeur*$dimension[1]/$dimension[0]; $decalY=-($dimY-$mhauteur)/2; $decalX=0;}
if($dimension[0]==($mlargeur/$mhauteur)*$dimension[1]){ $dimX=$mlargeur; $dimY=$mhauteur; $decalX=0; $decalY=0;}
// on modifie l'image crée en y plaçant la grande image redimensionné et décalée
imagecopyresampled($miniature,$image,$decalX,$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]);
// On sauvegarde le tout
imagejpeg($miniature,$chemin."/".$nom.".jpg",90);
return true;
}[/code]
Parce que je n'ai pas tout compris l'histoire de la classe à AB j'ai essayer de la faire marché mais est-ce qu'il gère le multi-upload ?