【发布时间】:2015-08-31 06:52:37
【问题描述】:
我一直在尝试并重试这段代码,试图获取文件扩展名并有条件地检查它,但由于文件在流中放置,我看不到 $ext 中的内容。
谁能指出这里出了什么问题?它只是在处理 dropzone.js 的上传文件。
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name']; //3
$targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds; //4
$targetFile = $targetPath. $_FILES['file']['name']; //5
$ext = end(explode(".", $_FILES['file']['tmp_name']));
if(filesize($tempFile) < 6000000 and $ext == "png"){
move_uploaded_file($tempFile,$targetFile); //6
}
}
【问题讨论】:
-
我不确定您所说的“由于文件在流中放置”是什么意思
-
不要将这一切都基于文件扩展名。我可以将一个 php 文件重命名为 png,上传它,然后可能从您的上传目录运行它。找出 mimetype,然后使用它进行验证。 stackoverflow.com/questions/23287341/…
标签: php file-upload