Sunucu tarafı, dosya göndererek ilerleme olsun

2 Cevap php

Basically, what I want to do is to check how much of a file my webserver has sent to a client, when the client is downloading one. Is this even possible? Does apache provide any module/extension that would help me accomplish my task?

Ben bir linux dağıtımı, apache2 ve php5 kullanın. Saygılar.

2 Cevap

Solved it.

Ben sadece istemciye göndermek istediğiniz PHP ile dosyayı açın.

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

Sonra yazarak dosya boyutu% 60 hesaplamak

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

Now the $sizeFirst variable contains the length of the first 60% of the file, in a numeric value. To calculate the rest 40% I use:

$sizeLast = $fileSize - $sizeFirst;

Şimdi benim eylem yapmak, ilk% 60 yazmak, ve sonra geri kalan% 40 outh yazabilirsiniz.

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

// Do my action here.

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

Ben başlığını ayarlamanız gerekir (); Bu yazmadan önce, içerik-uzunluk, içerik-tipi ve İçerik Eğilimi istemci için geçerli başlık ve fileContent göndermek için ayarlanmış olmalıdır.

Birine yardımcı olur umarım.

Dosya doğru "Content-length" başlık kümesi varsa tarayıcı bu işlevselliği sağlar. Neden sayfasında bu uygulamak istiyorsun?