PHPプログラムに関する各種メモ書き

PHPでファイルを開いて1行ずつ読み込み、新規ファイルへデータを書き出し

● PHPでファイルを開いて1行ずつ読み込み( SplFileObject )

$file = new SplFileObject(__DIR__ . '/input.html', 'r');
$file->setFlags(SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE);

foreach ($file as $n => $line) {
    if ($line === false) {
        continue;
    }
    echo "$n $line", PHP_EOL;
}

● PHPでファイルを開いて1行ずつ読み込み

$filename = 'input.txt';
$fp = fopen($filename,'r') or die("ファイル({$filename})のオープンに失敗しました");
while ( ($line = fgets($fp,99999)) !== false ) { // 1行あたり最大99999bytes
	print "$line\n";
}
fclose($fp);

● PHPで新規ファイルへの書き込み

$filename = 'output.txt';
$data = 'テストデータです';
$tmp_filename = getmypid().'.tmp';
$fp = fopen($tmp_filename, 'w');
fwrite($fp, $data);
fclose( $fp );
@mkdir(dirname($filename), 0755, true); // ディレクトリ がなければ自動で作成
rename($tmp_filename, $filename);

関連エントリー

No.544
09/06 16:38

edit

ファイル