Frage

Im Grunde, was ich tun möchte, ist zu überprüfen, wie viel von einer Datei meines Webserver an einen Client gesendet hat, wenn der Client eine heruntergeladen. Ist das überhaupt möglich? Hat Apache bieten ein beliebiges Modul / Erweiterung, die mir helfen würde, meine Aufgabe zu erfüllen?

verwende ich eine Linux-Distribution, apache2 und php5. Grüße.

War es hilfreich?

Lösung 2

es wird gelöst.

Ich öffne die Datei einfach mit PHP, dass ich an den Client gesendet werden soll.

$fh = fopen($filePath, 'r');

Dann berechne ich 60% der Dateigröße durch das Schreiben

$fileSize = filesize($filePath);
$sizeFirst = floor(($fileSize / 100) * 60);

Nun ist der $ sizeFirst Variable enthält die Länge des ersten 60% der Datei, in einem numerischen Wert. Um den Rest 40% I Verwendung zu berechnen:

$sizeLast = $fileSize - $sizeFirst;

Jetzt kann ich die ersten 60% schreiben, tun meine Aktion, und dann schreiben outh den Rest 40%.

$dataFirst = fread($fh, $sizeFirst);
echo($dataDirst);

// Do my action here.

$dataSecond = fread($fh, $sizeSecond);
echo($dataSecond);
exit();

Ich brauche den Header zu setzen (); vor diesem Schreiben aus, muss der Content-length, Content-type und Content-Disposition, um einen gültigen Header und filecontent an den Client.

gesetzt zu senden

Hope es hilft jemand.

Andere Tipps

Browser stellt diese Funktionalität, wenn die Datei korrekt „Content-length“ Kopfsatz hat. Warum tun Sie dies in Ihrer Seite implementieren mögen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top