我正在尝试上传多张图片,并从flutter发送的图片中更改它们的名称。文件上传没有问题,所以Flutter端不是问题,所以我不会从Flutter端附加和编码,主要问题是无法更改每个文件的名称。代码如下:
<?php
require 'dbh.php';
$image[] = $_FILES['image']['name'];
$tmpFile[] = $_FILES['image']['tmp_name'];
foreach($image as $keyImage => $value) {
foreach($tmpFile as $key => $tmpFilevalue) {
$fileExt = explode('.', $value);
$fileActualExt = strtolower(end($fileExt));
$new_extension = 'jpg';
$fileNameNew = "post".$key.".".$new_extension;
if(move_uploaded_file($tmpFilevalue, 'postImages/'. $fileNameNew)) {
echo "ok";
}
}
}
?>
使用上面的代码,我只能更改一个图像文件的名称,似乎循环没有增加并保持不变 0
. 但如果我这样做,替换 $fileNameNew
到 $value
已上载所有文件,但名称不变。这是密码
<?php
require 'dbh.php';
$image[] = $_FILES['image']['name'];
$tmpFile[] = $_FILES['image']['tmp_name'];
foreach($image as $keyImage => $value) {
foreach($tmpFile as $key => $tmpFilevalue) {
$fileExt = explode('.', $value);
$fileActualExt = strtolower(end($fileExt));
$new_extension = 'jpg';
$fileNameNew = "post".$key.".".$new_extension;
if(move_uploaded_file($tmpFilevalue, 'postImages/'. $value)) {
echo "ok";
}
}
}
?>
2条答案
按热度按时间nafvub8i1#
$image和$tmpfile已经是一个数组。
与此相反:
试试这个:
xghobddn2#
您需要像下面这样编写循环: