PHPでメモリ上に一時的なファイルを作成する

ディスクでなくメモリに一時的ファイルを作成して何かの処理に使うことで処理の高速化をしたいときに便利です。

$data = file_get_contents("hoge.fuga");
$fp = fopen('php://memory', 'r+');
fwrite($fp, $data);

//何か処理

fclose($fp);

fopenの第二引数でファイルアクセスをどこまで許容するかを決めています。

php://memoryの代わりにphp://tempを用いるとファイルの容量が一定の大きさを超える場合にはディスクへ一時的ファイルを作ることも出来ます。