PHP 文件操作之如何有效率进行资源操作
如Title,php如何有效率进行文件资源操作,读取文件,取文件最后一行数据,分段取大文件数据,获取文件行数,获取文件的一行内容...
读取文件,利用文件指针,取文件最后一行数据,
//ftell()返回指针位置、fseek()移动指针到指定位置、rewind()初始指针到起始位置,
//这三个函数配合 fopen(),fgets(),fread()等非常方便对文件资源进行进一步的 复杂性操作等等
$lastStr ='';
$file = 'xxx';
$fp = fopen($file, 'r');
fseek($fp,-1,SEEK_END);
while(($c = fgetc($fp)) !== false){
if($c == "\n" && $lastStr) break;
$lastStr = $c . $lastStr;
fseek($fp, -2, SEEK_CUR);
}
fclose($fp);
分段取大文件数据
$file = 'xxx';
$partSize = 1024*1024*2;
$fp = fopen($file, "r");
while(!feof($fp)) {
if($data=fread($fp,$partSize)){
echo 'doing...';
}
}
fclose($fp);
获取文件行数,获取文件的一行内容
//获取文件行数,获取文件的一行内容, 注意:函数stream_get_line()需要php5支持;
$fp = fopen($file , 'r')
while($rowStr = stream_get_line($fp,8192,"\n")){}
while($rowStr = fgets($fp)){}
while($rowArr = fgetcsv($fp)){}
fclose($fp);
//非常不太建议使用的方法,只是听说操作大文件会比较占用资源
count(file($file_path));
空空如也