【发布时间】:2017-02-20 20:49:57
【问题描述】:
如果已存在,我想重命名已上传的文件。如果已经存在,我想将其重命名为 img1.jpg、img2.jpg。我尝试了很多例子,但没有适合下面的代码:
<?php
$valid_formats = array(
"jpg",
"png",
"gif",
"zip",
"bmp",
"pdf",
"docx",
"PDF",
"xlxc"
);
$max_file_size = 3024;
$path = "images/"; // Upload directory
$count = 0;
if (isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") {
$fname = $_FILES['attach']['name'];
foreach ($_FILES['attach']['name'] as $f => $name) {
if ($_FILES['attach']['error'][$f] == 4) {
continue;
}
if ($_FILES['attach']['error'][$f] == 0) {
if ($_FILES['attach']['size'][$f] > $max_file_size) {
$message[] = "$name is too large!.";
continue;
}
elseif (!in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)) {
$message[] = "$name is not a valid format";
continue;
}
else {
if (move_uploaded_file($_FILES["attach"]["tmp_name"][$f], $path . $name))
$count++;
}
}
}
}
?>
需要对上述代码中存在的文件进行一些更新。
【问题讨论】:
-
那么您的问题到底是什么?我们不喜欢“为我做作业”式的问题。你有任何错误吗?什么有效,什么无效?您的代码 sn-p 包含大量验证等,您的问题也可以省略。
-
使用
file_exists检查文件或目录是否存在 -
你为什么要使用重命名...请时间喜欢的东西不要覆盖原来的
-
@ Damien Overeem 我尽我所能尝试了一切……我没有要求做作业
标签: php file-upload file-exists