- ベストアンサー
ファイルアップロード aviファイルがUPできない!!
質問させて下さい。 現在、会員制写真サイトを管理しております。 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タイプの指定が間違っているのでしょうか? ご教授頂けたら幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
試しにclock.aviをアップしてみたのですが、 [type] => video/avi となっていました。 正常にアップできましたよ。
その他の回答 (2)
- tomy06
- ベストアンサー率25% (58/224)
php.iniのアップロードのmaxsizeが小さいという落ちはないですよね php.ini内のupload_max_filesizeを調べてみてください
- moon_night
- ベストアンサー率32% (598/1831)
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使うユーザは殆どいないのでまだ問題ないですが。
お礼
ご回答ありがとうございます。 ちょっと自分の推測力が足らなかったようです…。 ここで質問するほどのものでもなかったですね。