
画像、ファイルをアップロードできるフォームを作成しています。
----------------------
フォーム
<FORM NAME="objform" action="yes.php" METHOD="POST" ENCTYPE="multipart/form-data">
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="1000000">
<INPUT TYPE="file" NAME="img1" SIZE="40"><BR>
<INPUT TYPE="submit" NAME="submit" VALUE="アップロードする!!">
</FORM>
ーーーーーーーーーーーーーーーーーーーー
yes.phpの中身
$updir = "./photo/";
$filename = $_FILES['upfile']['name']; //form の「upfile」の値
move_uploaded_file($_FILES['upfile']['tmp_name'], $updir.$filename);
--------------------------
これでphoto のフォルダに格納されるようにしているのですが、
もし、同じファイル名でアップされた場合上書きされてしまいます。
IDをつけるか、もしくはその他の方法でファイル名が重複されないような設定にするにはどうすればよいでしょうか。
現在PHP勉強中です。
初歩的なことかもしれませんが、
よくわからないのでアドバイスを頂けると助かります。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
とりあえず、一つの案として参考までにご覧ください。
ファイル名の前に、ユニークな数字をつけることで解決するとします。例えば1つ目のファイルなら「ID_1_○○○.jpg」というようにです。
そのためにまず外部ファイルを用意します。ここでは「id.dat」とします。ここに、いま何個目までファイルがアップロードされているかを記録していきます。
-------id.dat-------
0
初回はまだ0個なので上のように「0」とだけ書いて予め保存しておきます。その上で、スクリプトをいじります。
-------yes.php------
$updir = "./photo/";
$filename = $_FILES['upfile']['name'];
//追加分ここから
//ファイルを指定
$id_file = "id.dat";
//ファイルを開く
$fp = fopen($id_file,"r");
$id = fgets($fp);
fclose($fp);
//ファイルの数字に1を足します。
$id = $id + 1;
$fp = fopen($id_file,"w");
//保存します。
fputs($fp, $id);
fclose($fp);
//名前の前に番号を追記します。
$file_name = 'ID_'.$id.'_'.$file_name;
//追加分ここまで
move_uploaded_file($_FILES['upfile']['tmp_name'],
$updir.$filename);
こんな感じで、ファイル名にユニークな番号を振って、move_uploaded_fileすればいけるのではないかと。何かのヒントになれば幸いです。
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPClientで転送結果(OKかFAIL)
-
全角ファイル名をアップロード...
-
SmartyでHTMLソースの変更が反...
-
ファイルサイズがpost_max_size...
-
ftpでアップロードが出来ない
-
BASP21のFTPで日本語ファイル名...
-
ファイルをGET送信でアップロー...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
現在位置より2つ上のディレク...
-
存在しないメールアドレスかど...
-
phpでの画像ランダム表示方法
-
PHPでPDFを画像で表示したい
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
VB.NET 最下位のディレクトリ名...
-
wininetでPOSTで値を渡せません
-
送信日時を指定してメールを送...
-
header.locationで、画面遷移、GET
-
tplを読みに行けません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
「クラウドにアップロード」」...
-
ftpでアップロードが出来ない
-
ファイルサイズがpost_max_size...
-
ファイルアップロードしたもの...
-
FTPClientで転送結果(OKかFAIL)
-
unlinkでどうしてもファイルが...
-
VBでクラウドストレージにア...
-
ファイルのアップロード
-
movabletypeでPDFファイルをア...
-
phpファイルの編集について
-
BASP21のFTPで日本語ファイル名...
-
違法アップロードについて
-
掲示板のアイコンについて
-
ファイルのアップロードが、ど...
-
SmartyでHTMLソースの変更が反...
-
Googleドキュメントについて教...
-
HTMLファイルのアップロードに...
-
お悩み相談です(※長文な上にか...
-
gif画像をアップロードするには?
おすすめ情報