2011-01-05 11 views
0

PHPコードを使って.3gpのビデオファイルをサーバーにアップロードしたいと思います。私は3gpビデオファイルのMIMEタイプをファイルの 'エコー'ビデオタイプでチェックしました。それはapplication/octet-streamとしています。PHP:3gpのビデオファイルをアップロードする

私は以下のように、ごく少数のビデオ形式のファイルにそれを制限するために、以下のチェックを追加しました:それはまだエラーを与え、

if($_video_type != 'video/x-ms-wmv' && $_video_type != 'application/octet-stream' && $_video_type != 'video/avi' && $_video_type != 'video/mpeg'){ 
    $_error_videotitle = 'Only WMV, MP4, MPEG, FLV, 3GP videos are allowed'; 
    $is_errors = true; 
} 

しかし、そのは、3GPファイルをアップロードしていない:(

助けてください、ありがとう!

+0

まあ、どうなりますか? '$ _video_type'には何が入っていますか? –

+0

これらのヘッダーはクライアント(ブラウザ)によって設定されるので、必ずしもそれらが一貫しているとは限りません。 –

+0

@middaparkaあなたは何をすべきですか? – Prashant

答えて

2

は、あなたがここにあなたのコードを貼り付けコピーしましたか?もしそうなら、あなたは最終的には追加の空白を持っていることに注意してください。

'application/octet-stream ' 
+0

質問を編集しましたか?初めて私が見たときに、今度は余分なスペースがありました。追加のスペースがあるかどうかを元のコードで確認してください。 –

+0

はい、それは問題でした。今働いている! – Prashant

1

これは非常に良いチェックではありません。それは実際に内容をとても、または全くないをチェックしていないため、PHPファイル情報によって指定されたMIMEタイプ(assumably)に応じて、

は全然良くないです...

MIMEタイプが通常であります拡張子によってチェックされ、いくつかの基本拡張がサポートされています...

"application/octet-stream"として定義されているものはすべて、基本的にUNKNOWNからPHP /その他の形式です。ほとんどのブラウザは、この種のファイルをダウンロードするだけです。

実際のタイプとWORKING MIME検出では、最初に拡張子を確認してから、その種類のファイルに含める必要があるコーデックを確認することをお勧めします。ヘッダーが一致しない場合、ファイルは有効ではありません...また、ヘッダーの場合、たとえば "3gp形式"を検索するだけで、Googleのほとんどのコーデックでフォーマットを見つけるのは簡単です。あなたがそれを見つけることができない場合は、この便利なページを確認してください:Multimedia Wiki

関連する問題