2011-02-24 7 views
2

サイトにPDFをアップロードする際にこの問題が発生しています。PHPアップロードPDF MIMEタイプがアプリケーション/不明です

私はそれをコンピューターOS Xで試してみましたが、mime/typeはapplication/unknownです。しかし、別のMacからPDFをアップロードしようとすると、電子メールでそれを送信した後、mime/typeはapplication/pdfになります。

この問題の原因は何ですか?私は$ _fileを通じてMIME /タイプを取得するよう

アップロードはPHPを介して行われる[「名前」] [「型」]あなたの質問は、任意のコードなしであまりにも漠然としているので

+0

「それ」とは何ですか?あなたのテスト設定は何ですか?どのようにPDFをアップロードしていますか? –

+0

Regular form upload、enctype = "multipart/form-data" –

答えて

3

プロフォーマ答え:MIMEタイプについてファイルアップロードは不確定です。ブラウザはマルチパートでファイルを添付するだけで、最高の推測でMIMEタイプを追加します。 $_FILES["upload"]["type"]でPHPが見るものは必ずしも正しかったとはいえ、意図的に間違っている可能性もあります。

このフィールドを無視し、代わりにmime_content_type($_FILES["upload"]["tmp_name"])または同様の方法を使用して、正しいコンテンツタイプを判断することをお勧めします。

+0

mime_content_typeはWindowsイメージがimage/pjpegで、時には標準イメージ/ jpegではない問題を解決するでしょうか? –

+0

また、mime_content_typeは廃止され、Fileinfoに置き換えられました。 –

+0

@Devin:あまり使われていないため、Fileinfoはあまり標準的ではありません。彼らはmime-magicデータベースに頼っているので、Windowsのセットアップに取り組んでいるかどうかはわかりません。/pjpegの問題には何も言えませんが、プログレッシブなJpegの場合は、ファイルは対応するMIMEタイプを取得する必要があります。 – mario

関連する問題