我正在使用PHP中的file()函数读取包含大约50k行的文件.但是,由于文件的内容作为数组存储在存储器中,所以它的内存不足错误.还有其他的方法吗?
而且,存储的行的长度是可变的.
private static function readscoreFile($scoreFile) { $file = file($scoreFile); $relations = array(); for($i = 1; $i < count($file); $i++) { $relation = explode("\t",trim($file[$i])); $relation = array( 'pwId_1' => $relation[0],'pwId_2' => $relation[1],'score' => $relation[2],); if($relation['score'] > 0) { $relations[] = $relation; } } unset($file); return $relations; }
使用
fopen
,fread
和
fclose
顺序读取文件:
$handle = fopen($filename,'r'); if ($handle) { while (!feof($handle)) { echo fread($handle,8192); } fclose($handle); }
原文地址:https://www.jb51.cc/php/130869.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。