【发布时间】:2012-11-03 13:36:17
【问题描述】:
我正在设计一个简单的 PHP 脚本来允许上传 *.cpp 源文件。作为一项基本的安全措施,我会在将临时文件移动到永久位置之前检查其 MIME 类型。当我在终端(在 Mac OS X 上)运行file --mime myfile.cpp 时,它显示为text/x-c。然而,出于某种原因,服务器将其视为application/octet-stream。在/etc/mime.types 中,“cpp”扩展名在text/x-c++src 下,这让我相信这是 Mac 上 MIME 类型的问题。
我在 Ubuntu 上尝试了相同的程序,它运行良好(它显示为 text/x-c++src)。我在两台计算机上都使用 Chrome。
这本身并不完全是一个编程问题,但可能有一些我不熟悉的 PHP 技巧。
$temp_file=$_FILES["file"]["type"];
if(($temp_file!="text/x-c++src")||($temp_file!="text/x-c")) {
echo "<p style=\"color:red;font-style:italic\">Please upload a valid C++ file.</p>";
}
【问题讨论】:
标签: php mime-types mime