質問させて下さい。
現在、会員制写真サイトを管理しております。
PHPにてファイルアップロードシステムを組み、UPできるファイル形式やサイズを制限しております。
抜粋ロジックは下記のようになります。
$mime_type = $_FILES['form_file']['type'];
switch( $mime_type )
{
case "image/gif":
case "image/pjpeg":
case "image/x-png":
move_uploaded_file( $_FILES['form_file']['tmp_name'], $targetDIR.$_FILES['form_file']['name'] );
~中略~
break;
case "video/x-ms-asf":
case "video/x-ms-wmv":
case "video/x-msvideo":
case "video/quicktime":
case "video/mpeg":
case "audio/x-pn-realaudio":
case "application/x-shockwave-flash":
move_uploaded_file( $_FILES['form_file']['tmp_name'], $targetDIR.$_FILES['form_file']['name'] );
~中略~
break;
default:
メッセージ出力(うぷ出来ません。);
break;
}
※静止画と動画によってログファイルへの記録方法を分けています。
aviファイルのMIMEタイプは "video/x-msvideo" であると判断したのですが、複数のaviファイルでテストした結果、うぷ出来ませんとなってしまいました…。
テストしたファイルは、Divxエンコのものと、Windows内にあった、clock.avi というファイルです。
どのようにしたら aviファイルをうぷすることが出来るでしょうか?
そもそも、MIMEタイプの指定が間違っているのでしょうか?
ご教授頂けたら幸いです。
No.1
- 回答日時:
Perlだけど、どっかから拾ってきたものです。
参考になれば。
if ($tail =~ /image\/gif/i && $gif) { $tail=".gif"; $flag=1; }
if ($tail =~ /image\/jpeg/i && $jpeg) { $tail=".jpg"; $flag=1; }
if ($tail =~ /image\/x-png/i && $png) { $tail=".png"; $flag=1; }
if ($tail =~ /text\/plain/i && $text) { $tail=".txt"; $flag=1; }
if ($tail =~ /lha/i && $lha) { $tail=".lzh"; $flag=1; }
if ($tail =~ /zip/i && $zip) { $tail=".zip"; $flag=1; }
if ($tail =~ /pdf/i && $pdf) { $tail=".pdf"; $flag=1; }
if ($tail =~ /audio\/.*mid/i && $midi) { $tail=".mid"; $flag=1; }
if ($tail =~ /msword/i && $word) { $tail=".doc"; $flag=1; }
if ($tail =~ /ms-excel/i && $excel) { $tail=".xls"; $flag=1; }
if ($tail =~ /ms-powerpoint/i && $ppt) { $tail=".ppt"; $flag=1; }
if ($tail =~ /audio\/.*realaudio/i && $ram) { $tail=".ram"; $flag=1; }
if ($tail =~ /application\/.*realmedia/i && $rm) { $tail=".rm"; $flag=1; }
if ($tail =~ /video\/.*mpeg/i && $mpeg) { $tail=".mpg"; $flag=1; }
if ($tail =~ /audio\/.*mpeg/i && $mp3) { $tail=".mp3"; $flag=1; }
if ($tail =~ /audio\/.*wav/i && $wav) { $tail=".wav"; $flag=1; }
if ($tail =~ /video\/.*msvideo/i && $avi) { $tail=".avi"; $flag=1; }
if ($tail =~ /video\/.*wmv/i && $wmv) { $tail=".wmv"; $flag=1; }
ご回答ありがとうございます。
今後、アップロードファイルの幅を増やす際に参考にさせて頂きます。
PS:application/realmedia で RMファイルがうぷできるかと思いやってみましたが、駄目でした…。
video/realmedia も然り。ま、RM使うユーザは殆どいないのでまだ問題ないですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
php ファイルのアップロード
-
ファイルアップロード aviファ...
-
youtubeに音声のみのmp4ファイ...
-
PHPからMySQL CSVファイルのア...
-
Dreamweaver ドリームウィーバ...
-
動画共有サイト
-
「クラウドにアップロード」」...
-
ファイルのアップロードでパス...
-
CSVファイルのアップロードにつ...
-
ファイルアップロードの方法
-
ファイルをアップロードするには
-
ファイルサイズがpost_max_size...
-
【BAT(バッチ)ファイル】Web...
-
PHP8を使うと、大量のWarningが...
-
文字化けに関して
-
ヒアドキュメントを中断してinc...
-
文字化けについて
-
FORMで送信ボタンと戻るボタン...
-
空メールの作り方教えて欲しい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
youtubeに音声のみのmp4ファイ...
-
ftpでアップロードが出来ない
-
VBでクラウドストレージにア...
-
ファイルサイズがpost_max_size...
-
ファイルをGET送信でアップロー...
-
FTPClientで転送結果(OKかFAIL)
-
10MB以内のJPG画像
-
「クラウドにアップロード」」...
-
どうして送信されないのでしょ...
-
BASP21のFTPで日本語ファイル名...
-
php,file_get_contentsの結果が...
-
aws cloud9というものを使って...
-
PHPにてWebサーバー内データを...
-
全角ファイル名をアップロード...
-
■PukiWiki アップロード可能な...
-
Dreamweaver ドリームウィーバ...
-
move_uploaded_fileについて
-
PHPMailerで大きなファイルが送...
-
PostMethodによるアップロード
おすすめ情報