Normalerweise, wenn ich ein Benutzer zulassen mag, eine Datei herunterzuladen, ohne den genauen Standort enthüllt, verwende ich nur so etwas wie dies sie die Datei herunterladen lassen:Wie kann ich zulassen, dass ein Download pausiert/fortgesetzt wird?
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"" . $filename) . "\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($filename));
readfile("$filename");
Aber wenn sie einen modernen Browser verwenden oder Andere Download-Client, und sie pausieren den Download und versuchen, es fortzusetzen, das Skript (vorausgesetzt, sie sind noch authentifiziert oder was auch immer) wird die Header und die Dateiinhalte von Anfang an erneut senden, so dass der Download und grundsätzlich die Datei zu sein von Anfang an redownloaded.
Wie kann ich mein Skript aktivieren, um pausierte (und folglich wiederaufgenommene) Downloads zu kompensieren?
Brauchen Sie wirklich diese Funktionalität finden? Erlangen Ihre geschützten Downloads Nutzer-Uploads? Wenn ja, wie hoch ist Ihre Upload-Größe? Wenn es 50 MB oder weniger ist, würde ich sagen, es ist in Ordnung, diese Funktionalität nicht zu haben. Oder, wenn sie alle Dateien sind, die Sie generieren, und die durchschnittliche Größe ist gleich klein, wird sie wahrscheinlich nicht benötigt. Auf der anderen Seite, wenn sie alle sehr große Dateien sind, könnten Sie in Betracht ziehen, sie als Torrent zu verteilen und dann den Download der Torrent-Datei zu schützen. Es ist nicht so sicher wie Benutzer Torrent-Dateien teilen können - nur etwas zum Nachdenken. –
Von diesem Moment an frage ich, wie man nur das Wissen sucht, es in keinem bestimmten Projekt zu verwenden. Ich wollte diese Funktionalität in vergangenen Projekten haben, und ich werde das wohl in Zukunft tun. Ich dachte nur, ich würde fragen, während ich es nicht eilig habe, die Antwort zu finden. –