Hi!
Das Script läuft doch aber beim gestartetn Download nicht mehr oder? Also ist doch die Laufzeit so wie ich das sehe egal oder?
Doch, readfile() läuft bis das letzte Byte der Datei im Ausgabepuffer gelandet ist. Anschließend läuft das Script mit dem Rest des Codes weiter.
"wenn der Webserver nach ca. 300 s dicht macht wäre das aber normal. Das ist eine allgemeine Einstellung auch bei vielen anderen Servern. Am besten Sie benutzen dafür das FTP Protokoll, indem Sie das im Downloadlink bereit stellen."
Na, ich weiß nicht. Der schiebt das auf den Webserver, anscheinend ohne dass er konkret nachgesehen hat, ob das auch so eingestellt ist. Ich hab aber schon Dateien gezogen, die waren "größer als 5 Minuten".
Warum liegt sie dann überhaupt innerhalb des DocumentRoots?
Weil ich noch kein Zeit hatte Sie nach außerhalb zu verlagern, wenn die Scripte nicht laufen hat das ja dann auch keinen Zweck ;)
Das ist doch kein Aufwand und deswegen eigentlich von vorn herein so realisierbar. Oder soll das Script eine Änderung zum bestehenden System sein und die Datei muss bis zur Fertigstellung an alter Stelle verfügbar sein?
Gibt es nicht noch eine Möglichkeit zu unterbinden das die Links direkt eingebunden werden können?
Du meinst, Dateien liegen im downloadbaren Bereich, sollen aber nicht direkt sondern nur unter einer bestimmten Voraussetzung geladen werden dürfen, von denen ich annehme, dass das ein vorheriger Klick auf einen Link einer Webseite sein soll? Nein, das geht aus Prinzip nicht, weil HTTP kein "von" kennt. Jeder Request steht für sich allein. Es gibt zwar den Referrer, den man (in dem Fall vielleicht mit mod_rewrite) prüfen kann, aber der ist als unzuverlässig anzusehen, weil ihn der Client beliebig ändern kann.
Eventuelle Lösung:
Den Ordnernamen in dem die Files liegen, alle 24 Stunden ändern lassen.
Was ist überhaupt das eigentliche Ziel? Eine Zugangsbeschränkung nur mit Mitteln des Webservers wäre mit HTTP-Authentication realisierbar.
Lo!