Maison  >  Article  >  développement back-end  >  Solution PHP pour lire l'échec du téléchargement de fichiers volumineux

Solution PHP pour lire l'échec du téléchargement de fichiers volumineux

墨辰丷
墨辰丷original
2018-05-22 14:04:532413parcourir

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>";



Recommandations associées :

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn