URL: https://www.overclockers.at/coding-stuff/cachen_von_bildern_funzt_ned_51793/page_1 - zur Vollversion wechseln!
mach gerade mal meine ersten schritte in sachen filesystem und cachen und haut scho ned hin.
mit normalen text files gehts ohne probleme, aber wenn ich ein mit den image funktionen erzeugtes bild vor der ausgabe auch noch in eine datei schreiben will gehts ned.
wenn ich fopen als atribut "bw" mitgebe motzt php: "No such file or directory" obwohl es ja eigentlich eine neue datei anlegen müsste wenn keine da ist.
lass ich das "b" weg gibts keine fehlermeldung, aber es wird statt den binary daten halt "recource ID 5" als klartext in das file geschrieben...hmmm
1. ich bin mir nicht sicher, obs nen unterschied macht, aber prinzipiell heissts wb
2. könntest du etwas weiter oben im text schreiben, dass es um php geht...
1) im buch "grundlagen und profiwissen" von jörg krause steht "bw" bzw "bw+" drinnen. im php manual stehts andersrum drinnen. wenn ich das so vertausch wie du meinst, geht das, aber nur wenn der inhalt den ich einfügen will text ist. bei binary data, schreibt er mir egal ob "w" oder "wb" dann recource ID 5". bei "bw" oder "bw+" (so wie es jörg krause meint) kommt der fehler.
2) sorry, hab mir so lang darüber den kopf zerbrochen, dass ich das vergessen hab dazuzuschreiben... system is WAMP + gd2
welche funktionen verwendest zum schreiben? nicht alle sind binary-safe.
bevir ich $image_output mit imagepng ausgebe, will ich es noch mit fputs in die datei schreiben
vereinfacht:
Code: PHPheader('Content-type: image/png'); $now = (int) time(); if (file_exists('cached/thumb_' . $filename) && ($now - filemtime('cached/thumb_' . $filename) < 300)) { readfile('cached/thumb_' . $filename,'br'); } else { /* Hier Bilderstellung und Bearbeitung in variable $img_output */ $handle = fopen('cached/thumb_' . $filename,'w+'); fputs($handle,$img_output); fclose($handle); imagepng($img_output); imagedestroy($img_output); }
habs jetzt mal mit imagepng($img_output,'cached/thumb_' . $filename[1] . '.png'); probiert und das scheint nun zu funktionieren. trotzdem komisch wieso bei der anderen variante eine fehlermeldung kommt.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026