フォームにファイルをアップロードしていますが、「theManifest.manifest」または「theManifest.appcache」という名前のファイルをアップロードすると、MIME タイプが正しくありません。
php コードで「echo」を使用して、アップロードされたファイルの詳細を教えてくれます。コードは次のとおりです。
<form enctype="multipart/form-data" action="file-upload.php" method="POST">
Upload the manifest file:<input type="file" name="uploaded" id="id_upload" />
<input type="submit" value="Upload" />
</form>
ファイルが何であるかを示すphpコードは次のとおりです。
echo "<br> The file that was uploaded is as follows:";
echo "<br>uploaded_name = " . $_FILES['uploaded']['name'];
echo "<br>uploaded_size = " . $_FILES['uploaded']['size'];
echo "<br>uploaded_type = " . $_FILES['uploaded']['type'];
echo "<br>uploaded_tmp_name = " . $_FILES['uploaded']['tmp_name'];
echo "<br>uploaded_error = " . $_FILES['uploaded']['error'];
これが私が得る出力です:
The file that was uploaded is as follows:
uploaded_name = theManifest.appcache
uploaded_size = 51
uploaded_type = application/octet-stream
uploaded_tmp_name = C:\xampp\tmp\php4064.tmp
uploaded_error = 0;
Windows Vista で実行されている Firefox 8 が、.manifest ファイルと .appcache ファイルの両方が "application/octet-stream" の MIME タイプであると考える理由がわかりません。
これは、この問題をテストするために時々 .manifest に名前を変更した .appcache ファイルの内容です。
#This is a blank, test-cases-only, .manifest file.
これは、コメント (.manifest スタイルのコメント) だけを含むテキスト ファイルです。
ここで MIME タイプが「application/octet-stream」である理由は何かわかりますか ???
上記のコードで報告されている正しいMIME タイプは、私の知る限り「text/cache-manifest」であり、「application/octet-stream」ではありません。