Lors de l'envoi de fichiers volumineux à des destinataires via des scripts PHP, l'intégrité du transfert peut être un problème. Pour résoudre ce problème, PHP propose des méthodes telles que http_send_file et http_send_data, mais leur efficacité dans des scénarios spécifiques reste incertaine.
Une solution supérieure : le regroupement de fichiers
La plus efficace et une approche simple en PHP consiste à regrouper les fichiers. Ce processus divise le fichier en segments plus petits, garantissant un processus de téléchargement cohérent et fiable. Le code suivant illustre cette méthode :
$chunksize = 5 * (1024 * 1024); //5 MB per chunk $handle = fopen($filename, 'rb'); while (!feof($handle)) { print(@fread($handle, $chunksize)); ob_flush(); flush(); } fclose($handle);
En segmentant le fichier, PHP évite de surcharger la mémoire et permet un transfert plus fluide même pour les fichiers volumineux dépassant 2 Go. Cependant, il est crucial de s'assurer que le fichier est codé en UTF-8 pour éviter toute corruption du fichier lors du téléchargement.
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!