"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

cachen von bildern funzt ned

flaimo 15.10.2002 - 02:59 465 5
Posts

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
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

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
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...

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
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

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
welche funktionen verwendest zum schreiben? nicht alle sind binary-safe.

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
bevir ich $image_output mit imagepng ausgebe, will ich es noch mit fputs in die datei schreiben

vereinfacht:
Code: PHP
header('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);
  }
Bearbeitet von flaimo am 15.10.2002, 13:29

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
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.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz