はじめに
phpでファイルを作成するとき、同じ名前のファイルがすでに存在している場合
普通にやると上書きしてしまう。同じ名前のファイルが存在するとき、連番を加えて
ファイルを作成する方法について。
こんなかんじでファイルに連番をつけたい。
ファイル名を作る部分のコード
ファイル名を作る関数部分のコード。
function makeName() { date_default_timezone_set('UTC'); $fileName = date("Y-m-d"); $tmp = $fileName; $i = 0; while(file_exists('tmp/' . $tmp . '.gif')){ $tmp = $fileName . '_' . $i; $i++; if($i>100){ break; } } return $tmp . '.gif'; }
このように書けば重複したファイルがあった場合、連番をつけたファイルを作成出来る。
この部分で日付を変数に代入している。
date_default_timezone_set('UTC'); $fileName = date("Y-m-d");
この関数で同じ名前のファイルが存在しているかどうかを確認。 存在する場合はTRUEを返すのでループを抜け出せない。
file_exists();
それとif文を使って100回以上繰り返された場合はループを抜けるようにした。
全体のコード
動画からgifファイルを作成するアプリ。