1
J'utilise une variante du familier readfile_chunked dans la tentative de téléchargement des fichiers plus volumineux:php: readfile_chunked pas rinçage derniers 2830 octets de fichier 29353KB
function readfile_chunked($filename)
{
$chunk_size = 1*(1024*1024); // how many bytes per chunk
$buffer = '';
$handle = fopen($filename, 'rb');
if ($handle === false)
{
return false;
}
while (!feof($handle))
{
$buffer = fread($handle, $chunk_size);
print $buffer;
ob_flush();
flush();
sleep(1);
}
$status = fclose($handle);
return $status;
}
petits fichiers fonctionnent bien, mais ce fichier plus volumineux manque les 2830 derniers octets.
J'ai également veillé à ce que tous les paramètres zlib soient mis en commentaire. Je les avais initialement définis quand je pensais en avoir besoin pour l'utilitaire ZipArchive. – Shane
Juste comme une note pour les futures personnes qui regardent cela, mettre 'implicit_flush' à' On' peut avoir des implications de performances assez sévères. Utilisez-le comme un outil de débogage, mais ne le laissez pas en production. Appelez 'flush()' après les choses dont vous avez besoin de vider à la place, à la place. – nojak