bei dem code wird nichts an den browser geliefert ... ausser evtl. einer
fehlermeldung (ini-einstellung) ... abgesehen davon sind die image-fkts
gerne etwas sparsam mit fehlermeldungen
zu a)
sóllte klar sein: imagecreate() / imagecreatetruecolor() statt $dst_img = ..
zu b)
1. images on-the-fly via schleife an den browser zu senden geht nicht ...
1 bild, 1 header = 1 ausgabe
2. <img src="bild.php?img=1">
die bild.php erzeugt 1 thumb von bild 1 und liefert die ausgabe zurück,
wenn die ausgebende fkt das nicht auf die platte schreibt und der header
stimmt.
3. diese methode ist für 1, 2, 3 bilder ok, aber für eine vielzahl an bilder
imho unperformant.
Grafiken werde nicht erstellt
Einklappen
X
-
hmm,
aktueller code? nach möglichkeit aufs wesentliche reduziert ...
wenn du on-the-fly'st, mußt du nen header senden, es müßte aber trotdem mist im browser ausgegeben werden ...
btw: aucheine weisse Seite
Einen Kommentar schreiben:
-
@Der Hund,
ja genau, das wollte ich! Irgendwie geht es immer noch nicht! Es wird nur eine weisse Seite angezeigt und es wird nix gemacht bzw. verändert (verkleinert)...
Gruss
Einen Kommentar schreiben:
-
PHP-Code:imagejpeg($dst_img, "../test/neu_$element");
Deswegen wird wohl auch nix angezeigt.
Mehr Infos:
http://php.net/imagejpeg
Einen Kommentar schreiben:
-
Grafiken werde nicht erstellt
Hallo,
das ist mein Problemcode:
PHP-Code:<?php
// ===========================================================================
// Verzeichnis lesen
// ===========================================================================
$verz = opendir ("test");
// ===========================================================================
// Dateien umbennen (Neutralität)
// ===========================================================================
/*$i = "0";
while($g_file = readdir($verz)){
$i++;
if($g_file != "." && $g_file != ".."){
rename($g_file, "jpg");
}
}*/
// ===========================================================================
// Array erstellen
// ===========================================================================
$array = array();
while ($file = readdir ($verz)){
if($file != "." && $file != ".."){
array_push($array,$file);
}
}
// ===========================================================================
// Verzeichnis schließen
// ===========================================================================
closedir($verz);
// ===========================================================================
// Verzeichnisinhalt (Dateinamen) ausgeben lassen
// ===========================================================================
foreach($array as $element){
// ===========================================================================
// Bilder die über 400px breit sind, werden hier verkleinert
// ===========================================================================
$src_img = imagecreatefromjpeg("../test/$element");
$height = imagesy($src_img);
$width = imagesx($src_img);
$new_w = 80;
$new_h = $height / ($width / 80);
$dst_img = imagecreatefromjpeg($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
imagejpeg($dst_img, "../test/neu_$element");
}
?>
a) Wieso werden keine Grafiken erstellt?! Wenn ich das Script im Browser aufrufe, erscheint nur eine weisse Seite...
b) Wie kann ich Grafiken "on-the-fly" verkleinern, damit diese nicht auf dem Webspace ausgelagert werden müssen.
Vielen Dank!Stichworte: -
Einen Kommentar schreiben: