Rechercher : dans
Par :

PHP utilisation class

Dernière réponse le 19 oct 2009 à 12:05:59 jupiler, le 19 oct 2009 à 10:53:58 
 Signaler ce message aux modérateurs

Bonjour,

j ai recupérer cette classe qui me semble nickel pour resizer mes images mais quand je l utilise j'ai des messages d'erreur je ne vois pas d'où cela vient

Merci de votre aide

script import-test4.php:

// debut resize image
class Image {

var $file;
var $image_width;
var $image_height;
var $width;
var $height;
var $ext;
var $types = array('','gif','jpeg','png','swf');
var $quality = 80;
var $top = 0;
var $left = 0;
var $crop = false;
var $type;

function Image($name='/images/') {
$this->file = $name;
$info = getimagesize($name);
$this->image_width = $info[0];
$this->image_height = $info[1];
$this->type = $this->types[$info[2]];
$info = pathinfo($name);
$this->dir = $info['dirname'];
$this->name = str_replace('.'.$info['extension'], '', $info['basename']);
$this->ext = $info['extension'];
}

function dir($dir='') {
if(!$dir) return $this->dir;
$this->dir = $dir;
}

function name($name='') {
if(!$name) return $this->name;
$this->name = $name;
}

function width($width='') {
$this->width = $width;
}

function height($height='') {
$this->height = $height;
}

function resize($percentage=50) {
if($this->crop) {
$this->crop = false;
$this->width = round($this->width*($percentage/100));
$this->height = round($this->height*($percentage/100));
$this->image_width = round($this->width/($percentage/100));
$this->image_height = round($this->height/($percentage/100));
} else {
$this->width = round($this->image_width*($percentage/100));
$this->height = round($this->image_height*($percentage/100));
}

}

function crop($top=0, $left=0) {
$this->crop = true;
$this->top = $top;
$this->left = $left;
}

function quality($quality=80) {
$this->quality = $quality;
}

function show() {
$this->save(true);
}

function save($show=false) {

if($show) @header('Content-Type: image/'.$this->type);

if(!$this->width && !$this->height) {
$this->width = $this->image_width;
$this->height = $this->image_height;
} elseif (is_numeric($this->width) && empty($this->height)) {
$this->height = round($this->width/($this->image_width/$this->image_height));
} elseif (is_numeric($this->height) && empty($this->width)) {
$this->width = round($this->height/($this->image_height/$this->image_width));
} else {
if($this->width<=$this->height) {
$height = round($this->width/($this->image_width/$this->image_height));
if($height!=$this->height) {
$percentage = ($this->image_height*100)/$height;
$this->image_height = round($this->height*($percentage/100));
}
} else {
$width = round($this->height/($this->image_height/$this->image_width));
if($width!=$this->width) {
$percentage = ($this->image_width*100)/$width;
$this->image_width = round($this->width*($percentage/100));
}
}
}

if($this->crop) {
$this->image_width = $this->width;
$this->image_height = $this->height;
}

if($this->type=='jpeg') $image = imagecreatefromjpeg($this->file);
if($this->type=='png') $image = imagecreatefrompng($this->file);
if($this->type=='gif') $image = imagecreatefromgif($this->file);

$new_image = imagecreatetruecolor($this->width, $this->height);
imagecopyresampled($new_image, $image, 0, 0, $this->top, $this->left, $this->width, $this->height, $this->image_width, $this->image_height);

$name = $show ? null: $this->dir.DIRECTORY_SEPARATOR.$this->name.'.'.$this->ext;
if($this->type=='jpeg') imagejpeg($new_image, $name, $this->quality);
if($this->type=='png') imagepng($new_image, $name);
if($this->type=='gif') imagegif($new_image, $name);

imagedestroy($image);
imagedestroy($new_image);

}

}

//Creer un thumb avec 200px de large, la hauteur est automatique.
$thumb = new Image('/images/'.$filename);
$thumb->width(700);
$thumb->save();

// fin resize image

erreur :

Warning: getimagesize(/images/test21.jpg) [function.getimagesize]: failed to open stream: No such file or directory in W:\var\www\mondossier\import\import-test4.php on line 74

Warning: Division by zero in W:\var\www\mondossier\import\import-test4.php on line 138

Warning: Division by zero in W:\var\www\mondossier\import\import-test4.php on line 138

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in W:\var\www\prestiglass\import\import-presti4.php on line 166

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in W:\var\www\mondossier\import\import-test4.phpon line 167

Warning: imagedestroy(): supplied argument is not a valid Image resource in W:\var\www\mondossier\import\import-test4.php on line 174

Warning: imagedestroy(): supplied argument is not a valid Image resource in W:\var\www\mondossier\import\import-test4.php on line 175

Configuration: Windows Vista
Firefox 3.5.3

Meilleures réponses pour « PHP utilisation class » dans :
PHP - Les classes Voir La notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la...
Comment enlever la version de PHP : X-Powered-By: PHP/4.1.0 ? VoirPar défaut, PHP est configure pour envoyer un en-tête HTTP appelé X-Powered-By, donnant la version de PHP utilisée. Pour supprimer cet en-tête, il suffit de modifier l'option expose_php dans le fichier php.ini de la manière suivante : expose_php...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Il est possible de récupérer le code source PHP d'un site VoirMythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

garf, le 19 oct 2009 à 11:38:16

Ca fonctionne parfaitement.
vérifie que ton chemin pour l'image soit correct
$thumb = new Image('/images/'.$filename);

la première erreur vient du fait qu'il ne trouve pas l'image
et forçément les autres du fait qu'il ne peut pas traiter l'image

Répondre à garf

2

 jupiler, le 19 oct 2009 à 12:05:59

Bonjour Garf merci

j ai trouve il allait mettre le chemin comme ca

('./images/'.$filename);

avec le point devant /images

Répondre à jupiler
Collection CommentÇaMarche.net