【发布时间】:2012-05-12 22:06:27
【问题描述】:
我有一个带有名为 image 的文件输入的 html 表单,它指向一个带有此代码的 php 文件:
$date = date( "Y_m_d_H_i_s_u" );
function upload() {
$info = pathinfo($_FILES['image']['name']);
$target = "uploads/" . $date . $info['extension'];
if(move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
return true;
} else{
return false;
}
}
我希望文件名包含时间而不是原始文件名。我不明白为什么这行不通!所有上传的文件都被命名为扩展名。不知何故,日期不起作用。
【问题讨论】:
-
可变范围。 $date 是在函数外部定义的:将它作为参数传递就可以了。
-
问题是变量范围,但在元级别上,您假设上传成功,这不是一个好主意。始终检查 $_FILES 数组中的
['error']参数之前您对文件执行任何操作。