touch()関数によって、中身が空のファイルを生成することができます。本来、この関数はファイルの最終更新日時を変更するためのものですが、第2引数を省略し、第1引数だけを指定することによって、その名前のファイルを空の状態(サイズ0)で生成できます。
同名のファイルがある場合は上書き生成されます。指定したファイルが存在しており、かつ読み取り専用になっているためにファイルを生成できないような場合、touch()関数はFalseを返すとともに、ブラウザ上にエラーメッセージを表示します。この例ではそのエラーメッセージを表示させないため、関数の前に「@」をつけています。
<?php header("Content-type: text/html; charset=utf-8"); if(@touch("test.dat")){ echo "test.datを生成しました!<br>"; } else{ echo "test.datの生成に失敗しました!<br>"; } if(@touch("images/test.gif")){ echo "images/test.gifを生成しました!<br>"; } else{ echo "images/test.gifの生成に失敗しました!<br>"; } ?>