DarkLuna Geschrieben 29. Januar 2003 Geschrieben 29. Januar 2003 Ich habe mit einem php script eine gif datei erzeugt. nun möchte ich aber, dass diese auch wieder gelöscht wird und zwar dann wenn man die Website verlässt bzw am ende des scripts. Kennt ihr einen Befehl der das macht? Ach ja die gif Datei hat immer einen anderen Namen, also werd ich die wohl in ein eigenes Verzeichnis schreiben müssen, so dass ich dann nur das Verzeichnis leeren muss. Zitieren
Chris0 Geschrieben 29. Januar 2003 Geschrieben 29. Januar 2003 Wie lange soll das Bild den Existieren? 1. Du generiert das Bild. 2. Du legst es als Datei ab. 3. Der Browser ruft es auf ... oder wie? Wenn das so ist, kannst Du die den Schritt "2." Sparen und das Bild Streamen Content Type ist dan Image/gif Zitieren
DarkLuna Geschrieben 29. Januar 2003 Autor Geschrieben 29. Januar 2003 Es handelt sich um Diagramme, dessen Auswertung sich ständig ändert. die gif datei wird automatisch angelegt um sie anzeigen zu können. Ich habe diesen dateien dann einen namen generiert aus einem timestamp gegeben, damit es keine Probleme beim cachen gibt. Nun legt der natürlich immer mehr gifs an und aus diesem grund möchte ich das verzeichnis löschen. Zitieren
AlexBossi Geschrieben 29. Januar 2003 Geschrieben 29. Januar 2003 Hallo, wenn Du Diagramme erstellst brauchst Du das Bild nicht zwischenspeichern, Du kannst es direkt dynamisch erzeugen! Dazu muss aber die benötigte Bibliothek in deinem Apache integriert sein! Ich glaube bei der gif-Bibl. gibts da irgendwelche rechtliche Einschränkungen, aber jpeg funktioniert, wenn halt die Bibl. da ist! Ciao:marine Zitieren
DarkLuna Geschrieben 30. Januar 2003 Autor Geschrieben 30. Januar 2003 hmm, da muss ich meinen chef fragen, keine ahnung. Zitieren
Jaraz Geschrieben 30. Januar 2003 Geschrieben 30. Januar 2003 Hi, löschen kannst du mit unlink() http://de3.php.net/manual/de/function.unlink.php Den Dateinamen musst du dir halt merken. Gruß Jaraz Zitieren
jomama Geschrieben 30. Januar 2003 Geschrieben 30. Januar 2003 Das wird doch noch beim Parsen gemacht. D.h. wenn die Seite dann angezeigt wird, gibts das Bild nichtmehr. Ist wohl nicht so vorteilhaft. Es müsste schon ein kleines neues Fenster aufgemacht werden, welches sich nach dem Parsen selbst schliesst. Zitieren
DarkLuna Geschrieben 31. Januar 2003 Autor Geschrieben 31. Januar 2003 Gibt es nicht die Möglichkeit den Inhalt eines ordners zu löschen. ich mein die ganzen gifs liegen auf dem webserver sie müssen ja nur von dort weg und es muss ja nicht sofort sein...so alle 10 minuten vl. Hauptsache es wird nicht alles zugemült. Ich kriege so nach 10 Minuten benutzung locker 60 bilder zusammen. Die sind zwar alle sehr klein aber trotzdem muss ja nicht sein. Zitieren
AlexBossi Geschrieben 31. Januar 2003 Geschrieben 31. Januar 2003 Hallo, ja das geht! Es ist möglich den Apache in Zeitabständen Jobs durchführen zu lassen! Wie das aber genau geht weiß ich nicht! Ciao:marine Zitieren
jomama Geschrieben 31. Januar 2003 Geschrieben 31. Januar 2003 Originally posted by DarkLuna Gibt es nicht die Möglichkeit den Inhalt eines ordners zu löschen. ich mein die ganzen gifs liegen auf dem webserver sie müssen ja nur von dort weg und es muss ja nicht sofort sein...so alle 10 minuten vl. Hauptsache es wird nicht alles zugemült. Ich kriege so nach 10 Minuten benutzung locker 60 bilder zusammen. Die sind zwar alle sehr klein aber trotzdem muss ja nicht sein. Ich hätt da so ne Idee. Kopier doch die gifs während des parsens in eine Datei temp.gif und lösch dann das alte mit unlink. Die Temp.gif zeigst du dann an. Wenn du mit file_exists abfragst, ob schon ein neues Bild da ist, kannst du bestimmen, wann wieder ein Bild als temp.gif abgespeichert wird. Auf diese Weise hast du immer nur ein Bild im Ordner. Ungefähr so: <? if (file_exists("009432.gif")) { copy ("009432.gif", "temp.gif"); unlink("009432.gif"); } ?> <img src="temp.gif"> [/PHP] Zitieren
DarkLuna Geschrieben 31. Januar 2003 Autor Geschrieben 31. Januar 2003 danke, sehr gute Idee :-) Zitieren
Spike Geschrieben 31. Januar 2003 Geschrieben 31. Januar 2003 Und wenn sich jetzt 2 Leute gleichzeitig ein gif generieren lassen? Gib dem gif einen Timestamp mit in den Namen, und jedesmal wenn jemand das Script aufruft löschst du alle gifs mit Timestamp >15 Minuten oder so. Zitieren
jomama Geschrieben 3. Februar 2003 Geschrieben 3. Februar 2003 Dieses Problem könnte man lösen, indem man dem Gif eine SessionID gibt. So als Pro-User-Temp. Die Temp-Löschung macht man dann im OnUnload. Zitieren
DarkLuna Geschrieben 13. Februar 2003 Autor Geschrieben 13. Februar 2003 Originally posted by Spike Und wenn sich jetzt 2 Leute gleichzeitig ein gif generieren lassen? Gib dem gif einen Timestamp mit in den Namen, und jedesmal wenn jemand das Script aufruft löschst du alle gifs mit Timestamp >15 Minuten oder so. Das hatte ich ja zuerst vor, aber wie sag ich dem lösche alle blablabla ? ich hatte jedem die Unix zeit in den namen gesetzt und wollte eigentlich, dass wenn ein neues bild generiert wird, dass alle gifs die einen zeitstempel älter wie den aktuellen tragen gelöscht werden aber wie schreibe ich das? wenn ich unlink benutz kann ich doch nur eine datei nennen und mit joker geht ja auch nicht weil ich ja nicht weiß welche anfangszeichen die datei hat nur dass der datei namen kleiner ist wie der neue. Zitieren
Spike Geschrieben 13. Februar 2003 Geschrieben 13. Februar 2003 Nimm den aktuellen Timestamp, rechne 15 Minuten zurück, dann hast du die Grenze (alle unter dieser sollen gelöscht werden). Nun einfach eine Dateiliste geben lassen und anhand der Dateinamen (in der ja der Timestamp steckt) schauen welche Datei "fällig" ist (da unter der Grenze), und diese dann direkt löschen. Thats it. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.