Hi Leudz
ich hab da mal ne Frage zu nem php script
also ich habe dieses script hier
und möchte das zu dem umgeänderten images
noch ein kleiner zusatz angehängt wird
zB: "_a" also so zB: testimage_a.gif
also ich möchte wenn im auszulesenden ordner "dbimagesfirst" eine image datei
zB: test.gif ist das im ausgangsordner "dbimages"
die datei test_a.gif heist also das die endung "_a" angehangen wird und dieses sollte in dem script
was ich unten aufgeführt habe integriert sein
weil so funzt das script
es ändert die datein die im ordner
"dbimagesfirst" sind automatisch um
und zeigt die geänderten (grössen änderung) a
uch im ordner "dbimages" an
nur hätte ich gern das die geänderten dateien
den zusatz "-a" an den namen gehängt
bekommen
für gute antworten wär ich sehr dankbar
greetz
mibblitz
ich hab da mal ne Frage zu nem php script
also ich habe dieses script hier
und möchte das zu dem umgeänderten images
noch ein kleiner zusatz angehängt wird
zB: "_a" also so zB: testimage_a.gif
also ich möchte wenn im auszulesenden ordner "dbimagesfirst" eine image datei
zB: test.gif ist das im ausgangsordner "dbimages"
die datei test_a.gif heist also das die endung "_a" angehangen wird und dieses sollte in dem script
was ich unten aufgeführt habe integriert sein
weil so funzt das script
es ändert die datein die im ordner
"dbimagesfirst" sind automatisch um
und zeigt die geänderten (grössen änderung) a
uch im ordner "dbimages" an
nur hätte ich gern das die geänderten dateien
den zusatz "-a" an den namen gehängt
bekommen
für gute antworten wär ich sehr dankbar
PHP-Code:
<?php
class Thumbnailer {
######### Eigenschaften der Klasse/des Objekts
var $autocreate = true; // soll das verkleinern der Bilder direkt beginnen?
wenn ja, müssen die Eigenschaften korrekte Werte erhalten!!
var $single_mode = false; // sollen nur einige Bilder
oder alle Bilder im Ordner verkleinert werden?
var $image_list = array(); // falls $single_mode = true, dann müssen hier
die Bilder reingeschrieben werden, die verkleinert sollen
var $ersetzen = false; // soll, wenn Bild bereits
vorhand ist, dieses ersetzt werden?
var $image_ext = array("gif","jpg","jpeg","png","wbmp"); //alle formate.
var $image_dir = "../../images/dbimagesfirst/"; // die Original Bilder
var $thumb_dir = "../../images/dbimages/"; // Ordner
in dem die modifizierten Bilder gespeich werden
var $thumb_w = 150;//110; // Breite (width) der modifizierten Bilder
var $thumb_h = 200;//110; // Höhe (height) der modifizierten Bilder
######### Method der Klasse/des Objekts
##### gibt alle Bilder mit den korrekten Endung
in einem Array zurück
function list_all_images() {
$files = array();
$dir_handle = opendir($this->image_dir);
while ($file = readdir($dir_handle)) {
if ($file != "." && $file != ".." && !
is_dir($this->image_dir.$file)) {
$tmp_file = explode(".",$file);
$i = 0;
while ($i < count($this->image_ext)) {
if ($this->image_ext[$i] ==
strtolower($tmp_file[count($tmp_file)-1])) {
$files[] = $file;
}
$i++;
}
}
}
closedir($dir_handle);
return $files;
}
##### Erstellt ein Thumbnail
function create_thumb($filename) {
$file = $this->image_dir.$filename;
if ($this->ersetzen || !file_exists($this->thumb_dir.$filename)) {
#### Bild- Datei und -Endung
$tmp_file = explode(".",$file);
$ext = strtolower($tmp_file[count($tmp_file)-1]);
#### Bild aus Datei erstellen;
Bildtypen müssen unterschieden werden
if ($ext == "jpg" || $ext == "jpeg") {
$img = imagecreatefromjpeg($file);
} elseif ($ext == "gif") {
$img = imagecreatefromgif($file);
} elseif ($ext == "png") {
$img = imagecreatefrompng($file);
} elseif ($ext == "wbmp") {
$img = imagecreatefromwbmp($file);
} else {
return false;
}
#### Größen ablesen
$old_w = imagesx($img);
$old_h = imagesy($img);
#### neue Größen bestimmen
if ($old_w > $old_h) {
$thumb_w = $this->thumb_w;
$thumb_h = $old_h*($this->thumb_w/$old_w);
}
if ($old_w < $old_h) {
$thumb_w = $old_w*($this->thumb_h/$old_h);
$thumb_h = $this->thumb_h;
}
if ($old_w == $old_h) {
$thumb_w = $this->thumb_w;
$thumb_h = $this->thumb_h;
}
#### Bild erzeugen in korrekter Größe
$new_img = @imagecreatetruecolor($thumb_w,$thumb_h);
if (!$new_img) {
$new_img = imagecreate($thumb_w,$thumb_h);
imagecopyresized($new_img,$img,0,0,0,0,
$thumb_w,$thumb_h,$old_w,$old_h);
} else {
imagecopyresampled($new_img,$img,0,0,0,0,
$thumb_w,$thumb_h,$old_w,$old_h);
}
#### Bild speichern; Bildtypen müssen unterschieden werden
if ($ext == "jpg" || $ext == "jpeg") {
imagejpeg($new_img,$this->thumb_dir.$filename);
} elseif ($ext == "gif") {
imagegif($new_img,$this->thumb_dir.$filename);
} elseif ($ext == "png") {
imagepng($new_img,$this->thumb_dir.$filename);
} elseif ($ext == "wbmp") {
imagewbmp($new_img,$this->thumb_dir.$filename);
} else {
return false;
}
#### Cache leeren
imagedestroy($new_img);
imagedestroy($img);
return true;
} else {
return false;
}
}
##### Lässt Thumbnails anhand der Bilder
im Ordner erzeugen
function create_thumbs() {
if ($this->single_mode) {
$files = $this->image_list;
} else {
$files = $this->list_all_images();
}
$i = 0;
while ($i < count($files)) {
$this->create_thumb($files[$i]);
$i++;
}
return true;
}
##### Konstruktor für die Klasse
(wird nur ausgeführt, wenn die Klasse sofort starten soll)
function Thumbnailer() {
if ($this->autocreate) {
$this->create_thumbs();
}
}
######### Ende der Klasse/des Objekts
}
#########
## EOF ##
#########
?>
mibblitz
Kommentar