【发布时间】:2014-08-02 14:08:53
【问题描述】:
好的,所以我正在创建一个网站,让用户可以将要扫描的 csv 文件上传到 mySQL 数据库中。因为我不想冒险让邪恶的人上传可能会弄乱我的数据库的奇怪文件,所以我猜测检查文件的 mime 类型是个好主意。从其他线程我了解到,正确执行此操作的唯一方法是使用 finfo()。但我不让它工作。我的 uploadfile.php 中的以下代码仅打印出临时文件名,后跟“hello”。
$filename = $_FILES["file"]["temp_name"];
echo $filename;
if (function_exists('finfo_open')&&$mode==0) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
echo finfo_file($finfo,$filename);
finfo_close($finfo);
echo "hello";
}
所以我知道文件已经正确上传,我知道函数存在,我知道整个if子句没有错误。那么为什么它不起作用呢? 我正在通过 MAMP 对此进行测试,并认为那里可能存在一些错误?虽然它有 PHP 版本 5.4.4。
我也尝试过不同的版本,例如:
$mimetype = finfo_file($finfo,$filename);
echo $mimetype;
但是没有任何效果。它从不打印任何 mime 类型 :( 我能做些什么来解决这个问题?
【问题讨论】:
标签: php file-upload mime-types mime