![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
お世話になります。
PHPでファイルをアップロードして管理するプログラムを作成していますが、日本語名がどうしても文字化けし、あまり日本語名を使わない方がいいという意見もあることから、どのようなファイル名でも指定できるようにして、保存するとき、プログラム側で、ファイル名を自動でYYYYMMDDHHII(例:200504160033.doc)みたいにしたいのですが、どこをいじったらよいのでしょうか。
(もし、日本語のファイル名が使えたとしても、同名のファイルだと、上書きされる問題もあるので。これだと、そういう問題もないと思います)何かアドバイスをいただけたらと思い、投稿しました。よろしくお願いいたします。
受け取る側のファイル.php
$uploaddir = "./images/";
$uploadfile = $uploaddir. $_FILES['userfile']['name'];
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
No.2ベストアンサー
- 回答日時:
$_FILES['userfile']['tmp_name']
は、phpで自動作成されたテンポラリファイル名ですので、
クライアントのファイル名を利用したいときは、
$_FILES['userfile']['name']
を指定します。
<?php
$uploaddir = "./images/";
list($file_name,$file_type) = explode(".",$_FILES['userfile']['name']);
$dateformat=date("Ymdhis");
$uploadfile = "$uploaddir$dateformat.$file_type";
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
?>
No.1
- 回答日時:
php4から標準的なアップロード機能では$uploadfileが保存先のファイルパス + ファイル名+拡張子となっています。
そのスクリプトを修正するのであれば保存先を変更するだけの話しとなります。
$dateformatはstrftime関数などでお好きな形式で整形してください。
$uploaddir = "./images/";
list($file_name,$file_type)=explode(",",$_FILES['tmp_name']);
$dateformat="200504160033";
$uploadfile = $uploaddir.$dateformat.$file_type
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
参考URL:http://www.php.net/manual/ja/function.strftime.php
この回答への補足
ご回答ありがとうございます。
ただ、試してみたところ、ファイル名が200504160033となっただけで、拡張子が消えてしまいました。
今、いろいろといじっているのですが、まだ解決していません。よろしかったら拡張子はそのままに、保存できる方法はないでしょうか。よろしくお願いいたします。
今やったこと。
■$dateformat=date("Ymdhi");
■list($file_name,$file_type)=explode(",",$FILES['userfile']['tmp_name']); ←こんなふうにしたり、分割条件のカンマをピリオドにしたりしたのですが、うまくいきません・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- その他(IT・Webサービス) WPからダウンロードしたファイル名を指定したい 2 2022/04/08 08:31
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Flaskでサーバー立ち上げに関して
-
ファイル名を変更してアップロ...
-
アップロードファイル名の文字化け
-
sqlite文字列を格納、出力
-
PHPのリロード時の処理
-
PEAR Pagerについて
-
openCVのトラックバーについて
-
テンプレートを実現するために
-
PDOのprepareでLIKEの部分一致...
-
連想配列について
-
phpで変数を使ってcopyできない
-
Smartyのforeachのnameに変数を...
-
name属性が全角の場合・・・
-
C# 同じ処理をまとめたい
-
php で画面にコードが表示され...
-
<input type="hidden" >で配列...
-
「"」(ダブルクォーテーション)...
-
laravelを利用してコントロール...
-
php mysql でチェックボックス...
-
HTMLで前の画面に戻る時、入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
ファイル名を変更してアップロ...
-
アップロードファイル名の文字化け
-
PHPからHTMLへの変数の受け...
-
プログラミングC++のmapについて
-
phpで変数を使ってcopyできない
-
Flaskでサーバー立ち上げに関して
-
SQLインジェンクション対策法を...
-
パラメータを2個つけたい
-
POSTの項目に追加
-
サブフォルダ内の全てのテキス...
-
フォームで送られてきたメール...
-
if function PHP
-
連想配列を複数条件で比較して...
-
PHP FTPサーバへの画像アップロ...
-
name属性が全角の場合・・・
-
マクロ(VBA)について
-
PDOのprepareでLIKEの部分一致...
-
テキストボックスの値を取得したい
-
php メールフォーム エラー表...
おすすめ情報