【PHP】下らねぇ質問はここに書き込みやがれ 53
■ このスレッドは過去ログ倉庫に格納されています
0089nobodyさん
2007/08/27(月) 19:30:59ID:UW8c1qdSSQLのLIMITみたいなものをファイル操作で行いたく
指定した行から何行取得する関数を作りました。
function read($file, $start, $end){
$fp = fopen($file, "r");
flock($fp, LOCK_EX);
$pos = $l = 0;
$line = array();
while(count($line) != $end){
$c = "";
$pos = ftell($fp);
while($c != "\n"){
$c = fgetc($fp);
}
if($l >= $start){
fseek($fp, $pos, SEEK_SET);
$line[] = trim(fgets($fp));
}
$l++;
}
return $line;
}
正常に動作はするのですが、1バイトずつデータを読み込んで行く為
ファイルサイズが膨大になれば遅くならないかな?と思っています。
何か他にいい方法があればご教授お願い致します。
■ このスレッドは過去ログ倉庫に格納されています