Maison >développement back-end >tutoriel php >Exemple de la façon dont PHP utilise la fonction readfile() pour définir la taille du fichier

Exemple de la façon dont PHP utilise la fonction readfile() pour définir la taille du fichier

黄舟
黄舟original
2017-08-11 09:15:131660parcourir

Cet article explique comment PHP utilise la fonction readfile() pour définir la taille du fichier à travers un exemple de code. Les amis qui en ont besoin peuvent s'y référer

Utilisez le package compressé généré par PHP ZipArchive. Il peut être téléchargé, mais aujourd'hui, j'ai rencontré une erreur 404 alors qu'il dépassait 150 Mo. La première chose qui m'est venue à l'esprit était que la taille du fichier dépassait le paramètre par défaut de PHP. Il existe deux façons de le modifier :

php.ini : memory_limit

memory_limit définit la limite de mémoire. Si vous utilisez readfile() pour lire des fichiers, cela sera lié à cela. redémarrez php-fpm.


memory_limit = 128M
Enfin, rappelez-vous : le service php-fpm restart

ini_set

PHP ini_set est utilisé pour set La valeur de php.ini prend effet lorsque la fonction est exécutée. Ensuite, nous pouvons directement l'utiliser pour modifier la taille d'exécution de la mémoire. Si certains amis utilisent l'espace virtuel, cette fonction est un sauveur.


ini_set('memory_limit', '512M');
Exemple complet :


set_time_limit(0);
ini_set('memory_limit', '512M');
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename=' . basename($zipfile));
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
header('Content-Length: ' . filesize($zipfile));
ob_clean();
flush();
@readfile($zipfile);
unlink($zipfile);

Résumé

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