这是我的问题我需要重命名图像,当有人上传它,我想使用日期和时间,并创建$ datatime值,我不知道如何使其工作可以有人告诉我该怎么做?任何帮助非常感谢...非常感谢
<?php if(isset($_POST['action'])=='uploadfiles') {
$time = time();
$date = date('Y-m-d');
$datetime = "$time" . "$date";
$upload_directory ='uploads/';
$count_data =count($_FILES['data']) ;
$upload = $_FILES['data']['name'][$x].',';
for($x=0;$x<$count_data;$x++) {
$upload .= $_FILES['data']['name']["$x" . ""].',';
move_uploaded_file($_FILES['data']['tmp_name'][$x], $upload_directory . $_FILES['data']['name'][$x]); ##### upload into your directory }
//echo "upload successfully..";
$con="INSERT INTO inmuebles (foto1) values ('$upload')";
$query=mysql_query($con); } ?>
答案 0 :(得分:2)
在此处更改:
move_uploaded_file(
$_FILES['data']['tmp_name'][$x],
$upload_directory . $datetime . $_FILES['data']['name'][$x]
); ##### upload into your directory
此处$datetime
应该是包含时间戳的字符串。
答案 1 :(得分:0)
尝试以下方法:
$ext = pathinfo($_FILES['data']['name'][$x], PATHINFO_EXTENSION);
$newname = $datetime . '.' . $ext;
move_uploaded_file($_FILES['data']['tmp_name'][$x],
$upload_directory . $newname);
这将替换当前文件名,并维护最初上传文件的扩展名。
如果您想维护原始文件名,只需追加 datetime
,请使用以下内容:
$info = pathinfo($_FILES['data']['name'][$x]);
$ext = $info['extension'];
$name = $info['filename'];
$newname = $name . $datetime . '.' . $ext;
move_uploaded_file($_FILES['data']['tmp_name'][$x],
$upload_directory . $newname);
答案 2 :(得分:0)
使用日期和时间是一种独特标记任何东西的糟糕方式,因为保真度的限制是每秒1项,而计算机的速度比这快,同时有超过1人可以同时使用上传时间。而是使用为此构建的东西,例如UUID(又名GUID)。您可以在PHP中使用uniqid()函数,这是非常基本的,或者如果您阅读了有人编写UUID函数的注释(使用版本5)。