加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

浅析php中如何在有限的内存中读取大文件

发布时间:2020-12-13 06:29:28 所属栏目:PHP教程 来源:网络整理
导读:正常情况下,我们可以使用fseek来读取,好处就是不会一次性读取,以下代码只适合边取边处理的情况,不适合一次性读取一次性处理。 FONT style="COLOR: #ff0000"可以用以下办法生成测试文件 div class="codetitle" a style="CURSOR: pointer" data="44813" cl

正常情况下,我们可以使用fseek来读取,好处就是不会一次性读取,以下代码只适合边取边处理的情况,不适合一次性读取一次性处理。

<FONT style="COLOR: #ff0000">可以用以下办法生成测试文件

<div class="codetitle"><a style="CURSOR: pointer" data="44813" class="copybut" id="copybut44813" onclick="doCopy('code44813')"> 代码如下:<div class="codebody" id="code44813">
$file_handle = fopen("./csdn.txt","rb+");
for ($index1 = 1; $index1 <= 2000000; $index1++) {
fwrite($file_handle,'http://52php.cn'.$index1."r");
}
fclose($file_handle);

读取处理代码如下:

<div class="codetitle"><a style="CURSOR: pointer" data="36527" class="copybut" id="copybut36527" onclick="doCopy('code36527')"> 代码如下:<div class="codebody" id="code36527">
$i = 0;
$now = '';
while ($i >= 0) {
if ($i>10) {
break;
}
fseek($file_handle,SEEK_CUR);
$now = fgetc($file_handle);//可以自己写个判断false表示文件到头
if ($now == "r") {
echo '找到断点';
}
echo $now;
$i++;
}
fclose($file_handle);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读