保持上传文件的 tmp_name 是一个好习惯吗?请检查以下示例:
$short_tmp_name = substr($_FILES['tmp_name'], -6)
move_uploaded_file($_FILES['file'], "$uploads_dir/$short_tmp_name");
在处理文件上传时,如上例所示:
修改
我已经澄清了这个问题(修改了代码示例)。
答案 0 :(得分:1)
没有这样的问题,但为了更安全并处理错误,请执行如下所示的操作。注意:只是示例代码,根据您的需要添加更多错误/其他检查和处理
$error = '';
if ($_FILES["file"]["size"] == 0) {
$error = 'Uploading failed';
}
else if ($_FILES["file"]["size"] > MAX_UPLOAD_FILE_SIZE) {
$error = 'File size exceeds ' . MAX_UPLOAD_FILE_SIZE_MB;
}
else if ($_FILES["file"]["error"] > 0) {
$error = 'Error while uploading';
}
if(!$error) {
$file_name = $_FILES["file"]["name"];
if (file_exists(DESTINATION . $file_name)) {
$path_parts = pathinfo($dstFile . $file_name);
$file_name = $path_parts['filename'] . '-' . time() . '.' . $path_parts['extension'];
}
$dstFile = DESTINATION . $file_name;
if (move_uploaded_file($_FILES["file"]["tmp_name"],$dstFile)) {
//its done
}
else {
$error = 'Unexpected system error';
}
}