Cet article présente principalement la solution à l'échec du téléchargement de fichiers volumineux par PHP readfile, impliquant les techniques PHP pour diviser les fichiers volumineux et les télécharger morceau par morceau. Les amis dans le besoin peuvent se référer à
Les détails sont les suivants. suit :
Le fichier volumineux fait plus de 200 Mo. Après avoir téléchargé seulement 200 Ko, il vous sera demandé que le téléchargement soit terminé sans signaler d'erreur.
La raison est que PHP a une mémoire limitée et doit être téléchargé par morceaux, c'est-à-dire coupez le gros fichier en morceaux, puis téléchargez-le morceau par morceau .
if (file_exists($file)) { if (FALSE!== ($handler = fopen($file, 'r'))) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); header('Content-Transfer-Encoding: chunked'); //changed to chunked header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); //header('Content-Length: ' . filesize($file)); //Remove //Send the content in chunks while(false !== ($chunk = fread($handler,4096))) { echo $chunk; } } exit; } echo "<h1>Content error</h1><p>The file does not exist!</p>";
php méthode de fonction readfile() pour définir la taille du fichier
php readfile() cas de modification de la taille de téléchargement de fichier
readfile() méthode de fonction pour définir la taille du fichier php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!