| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

29-07-2009, 14:49
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
Thumbnail erzeugen, script macht nicht alle
Hi Gemeinde,
ich weiß nicht genau, nach was ich suchen soll; ich beschreib mal mein Problem. Ich haben ca. 50 Artikel deren Bild auf der HP als Thumb dargestellt werden soll. Und zwar alle untereinander. Das Thumb berechne ich mit einer PHP-Funktion.
HTML-Code:
<img src="_php/getResizedImage.php?lange_seite=40&im_path=<?php echo $DR.$ML_BILDER.$arr_bilder[0]; ?>" border="0" width="40" />
PHP-Code:
<?php if (isset($_GET['im_path'])) $im_path=$_GET['im_path']; else die; if (isset($_GET['lange_seite'])) $lange_seite=$_GET['lange_seite']; else $lange_seite=250;
$old_jpg=imagecreatefromjpeg($im_path); $size=getimagesize($im_path); $size[0]>$size[1]?$faktor=$size[0]/$lange_seite:$faktor=$size[1]/$lange_seite; if ($size[0]>$size[1]) { $n_width=$lange_seite; $n_height=$size[1]/$faktor; } else { $n_height=$lange_seite; $n_width=$size[0]/$faktor; } $jpg = imagecreatetruecolor($n_width,$n_height); imagecopyresampled($jpg,$old_jpg,0,0,0,0,$n_width,$n_height,$size[0],$size[1]);
header("Content-Type: image/jpeg"); ImageJpeg($jpg); ImageDestroy($jpg); ?>
Das klappt eigentlich super, ABER es werden NIE alle Thumbs in der Seite dargesetllt. Bei jedem Reload fehlen andere. Manchmal mehr manchmal weniger.
Ich weiß gar nicht, wo ich das Problem anpacken soll, es kommt jedenfalls keine Fehlermeldung.
Danke für jeden Tip.
Gruß
Michael
Geändert von Lengen1971 (29-07-2009 um 14:52 Uhr)
|

29-07-2009, 15:08
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo Michael,
ohne mir das jetzt genauer angeschaut zu haben, folgender Vorschlag:
Schau mal im generierten HTML-Code nach, ob die entsprechenden img-Elemente zu den fehlenden Bildern da sind. Wenn ja, ruf deren src-Attribut mal von Hand im Browser auf und drücke ggf. Strg+F5. Wenn sie dann erscheinen, solltest du deinen Cache mal leeren und evtl. auch den dafür erlaubten Speicherplatz raufsetzen.
Edit: Arbeitest du mit display_errors oder log_errors? Im ersteren Falle könnte es auch sein, dass dir PHP eine Fehlermeldung ins Bild schreibt und du es deswegen nicht siehst.
Gruß,
Anja
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (29-07-2009 um 15:10 Uhr)
|

29-07-2009, 15:26
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
Hallo Anja,
danke für die schnelle Antwort. Ich hab gerade festgestellt, dass das nur im FF auftritt. Am IE und Safari werden alle Thumbs berechnet und angezeigt. Das verwirrt mich jetzt.
zu deinen Fragen:
- ja, die img-Tags sind alle da im Code.
- Cache ist komplett deaktiviert (könnte das das Problem sein?)
- folgendes steht noch in der Datei:
PHP-Code:
set_time_limit(0);
error_reporting(E_ALL);
danke
Gruß
Michel
|

29-07-2009, 15:29
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Aktivier mal bitte den Cache (10MB sollte reichen) und probier dann nochmal. Wenn es dann immer noch nicht geht, sehen wir weiter. Ich vermute schon, dass es daran liegt.
Dann noch ein Tip: um deinen Server zu entlasten, empfiehlt es sich, die erzeugten Thumbnails zu speichern und nur dann neue zu erzeugen, wenn kein gespeichertes gefunden wurde oder die filemtime des Originals größer ist als die des Thumbs (auf Deutsch: wenn die Originaldatei geändert wurde).
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

29-07-2009, 15:35
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Lengen1971
- folgendes steht noch in der Datei:
PHP-Code:
set_time_limit(0);
error_reporting(E_ALL);
|
Bekommst du aber trotzdem nichts von zu sehen, wenn du die Bilder per IMG in einem HTML-Dokument einbindest - wenn PHP dann Fehlermeldungen raushaut, bekommst du vom Browser nur ein [X] für ein "broken image" angezeigt.
Am besten wäre das ganze nachvollziehbar, wenn du in der Konfiguration mittels log_errors und error_log mal dafür sorgst, dass Fehlermeldungen in eine Log-Datei geschrieben werden, und dann da nach einem Aufruf der Seite und fertig laden dieser dann mal reinschaust, was da drin steht.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

29-07-2009, 15:38
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Dass log_errors zweifellos die bessere Variante ist, steht außer Frage, aber wenn die Bilder in anderen Browsern dargestellt werden, kann das nicht der Grund sein.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|