为什么我不能在通过jquery传递的php中更改文件名?



祝所有用户愉快
面对无法更改从jquery传递的php文件名的问题:
使用js中的此代码,我将文件传递给php:中的处理程序

var url = '/temp.php';
var xhr = new XMLHttpRequest();
var formData = new FormData();
formData.append('files[]', file);  
xhr.open('POST', url, true); 
xhr.upload.addEventListener("progress", function(e) {
updateProgress(i, (e.loaded * 100.0 / e.total) || 100)
});
xhr.addEventListener('readystatechange', function(e) {
if (xhr.readyState == 4 && xhr.status == 200) {
}
else if (xhr.readyState == 4 && xhr.status != 200) {
}
});
xhr.send(formData);

Php处理程序temp.Php:

$fileNames = $_POST['n0'];
$fname = explode(",", $fileNames);
for ($i = 0; $i < count($fname); $i++) {
$uploaddir = "/mnt/ElmaFiles/$fname[$i]";
move_uploaded_file($_FILES['files']['tmp_name'][$i], $uploaddir);
}

$fname数组存储通过音译传递的文件的名称。问题是,在第二个参数中的move_uploaded_file()方法中,它指定了保存路径和文件名,我无法用新名称保存文件,只是没有保存。我试着打印echo($_FILES['files']['name']['$i']),这一行是空的。你能告诉我如何更改通过jquery传输的已保存文件的名称吗?提前非常感谢!

重新写入下一行

$uploaddir = "/mnt/ElmaFiles/$fname[$i]";

带有

$uploaddir = "/mnt/ElmaFiles/" . "new_name" . rand();

从现在起,它将以随机值保存您的文件。您也可以在此处添加自定义命名。

最新更新