Maison >développement back-end >tutoriel php >Lecture d'une taille de fichier 1G via PHP
La lecture de fichiers est très importante en PHP. La lecture de fichiers avec une mémoire plus importante nécessite certaines compétences. Cet article expliquera les compétences.
Puisque la fonction de fichier lit tout le contenu dans la mémoire en même temps et que PHP a pour but d'empêcher certains programmes mal écrits d'occuper trop de mémoire et de provoquer une mémoire système insuffisante et de provoquer un crash du serveur, il vous faut donc quelques bonnes idées.
01 思路1:利用php执行linux的命令,将一个文件内容(a.log)复制到另一个文件中(b.log) cat a.log >>b.log 02 思路2:用php执行linux的head命令,获取内容,一行行写入另一个文件(b.log)中。 cat a.log|wc -l sed -n '1 p' a.log fileputcontents('b.log’, $content, FILE_APPEND);
//02.读取1G的文件内容 public function testGetLarge() {/*{{{*/ #01. 方法1 直接cat后重定向 #if('useCat' == 'useCat') if(0 && 'useCat' == 'useCat') { `cat a.log>>b.log`; } #02. 使用flie_put_contents ,一行一行读取并追加写入 if('useFilePutContents' == 'useFilePutContents') {/*{{{*/ $lineNum = `cat a.log|wc -l`; for($i=1; $i<= $lineNum; $i++) { $content = `sed -n '$i p' a.log`; //文件追加 file_put_contents('b.log', $content, FILE_APPEND); } }/*}}}*/
Cet article explique en détail comment lire une taille de fichier de 1 Go via PHP Pour plus de connaissances connexes, veuillez faire attention au site Web chinois de php.
Recommandations associées :
Expliquez le code de la fonction d'initialisation de la classe PHP
Expliquez le code PHP orienté objet et lié à l'héritage PHP
Expliquez le code lié à la sérialisation et à la désérialisation orientées objet 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!