【发布时间】:2019-07-20 08:47:15
【问题描述】:
我的问题是当我选择多个文件时,它会将所有选定的文件重命名为相同的名称,但我想将每个选定的文件重命名为不同的名称并插入 MySQL 和本地文件夹。
例如
第一个选择的文件是:
1_$date_$rand_.png
第二个选择的文件是:
2_$date_$rand_.pnp
等等……
我也尝试使用随机数,但它也会将每个选定的文件重命名为相同的。我不知道应该如何使用循环。
我的 php 代码重命名文件并上传到数据库:
$rand = rand(0, 99999);
$date = date('Y_m_d-H_i_s-a', time());
$count = 0;
$path = "../../images/"; // Upload directory=
$filename = $date."_".$rand.'.';
foreach ($image as $f => $imgname) {
$ext = end((explode(".", $imgname)));
mysqli_query($conn,"INSERT INTO images(name)
VALUES ('$filename$ext')");
if(move_uploaded_file($_FILES["image"]["tmp_name"][$f], "$path/$filename$ext")) {
$count++; // Number of successfully uploaded files
}
}
【问题讨论】:
-
您只定义一次文件名,将
$filename = $date."_".rand(0, 99999).'.';移动到循环内$ext之前。