当前位置:首页 > 建站分享 > 正文内容

PHP读取超大文件

lujun2年前 (2022-11-11)建站分享588

以下内容全文转载自:无风的雨写的php 读取超大文件

PHP开发很多时候都要读取大文件,比如csv文件、text文件等。这些文件如果很大,比如10个G。这时,直接一次性把所有的内容读取到内存中计算不太现实。
遇到这种情况,往往觉得PHP太弱,实则不然。利用生成器(关键字yield)就能解决。
好了,上代码。

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/12/8
* Time: 22:05
*/

header("content-type:text/html;charset=utf-8");
function readCvs()
{
   # code...
   $handle = fopen("test.csv", 'rb');

   while (feof($handle)===false) {
       # code...
       yield fgetcsv($handle);
   }

   fclose($handle);
}
$result = readCvs();
foreach ($result as $key => $value) {
   echo "<pre>";
   var_dump( $value);
   echo "</pre>";
//    exit;

}


扫描二维码推送至手机访问。

版权声明:本文由5020工作室发布,如需转载请注明出处。

本文链接:http://5020.work/?id=50

分享给朋友:

相关文章

纯 js 实现打字效果

纯 js 实现打字效果

看到有人需要,就把主题里面的代码整理了出来代码就在下面具体怎么使用自己慢慢琢磨吧,挺简单的东西 并不复杂首先就 就这么几个属性classtxt-rotatedata-rotate 眼线是的内容 JSON 格式data-period...

html5 让video支持m3u8播放

我在网上查了半天,也测试了几个,但是最终我选择的是hls.jshls.js Git#git:https://github.com/video-dev/hls.js基本使用#<script src="https://...

M3U8文件和TS切片加了Referer验证的PHP代理示例

M3U8文件和TS切片加了Referer验证的PHP代理示例

主要使用 PHP 进行流量转发,需要消耗自己 PHP 服务器的带宽和流量。链接例子:https://rtmlive06.secureswiftcontent.com/rtmchannel/06-manifest.m3u8坛友一(kof97z...

文件外链网站推荐catbox

前言前几天看到一个国外网站非常有意思,它就是猫箱(译名),原名catbox猫箱:https://catbox.moe/猫箱catbox这是一个文件外链网站,就是上传一个文件,可以获得它的直链地址,别人访问这个地址就能获取文件内容比如大家想要...

PHP curl模拟ip和来源进行访问

PHP curl模拟ip和来源进行访问<pre>public function moniurlqingqiu(){$ch = curl_init();$curlurl = "http://wx.newmiracle.c...

OHTTPS – 免费HTTPS证书

OHTTPS – 免费HTTPS证书

OHTTPS提供免费SSL证书/TLS证书,全部证书由Let’s Encrypt颁发,可自动到期提醒、自动更新证书、自动云节点部署,可自动部署至阿里云、腾讯云、Nginx容器中,致力于帮助用户从http升级到https。官网:https:/...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。