为什么move_uploaded_file不在for循环中工作(每次不同的文件夹位置)


why move_uploaded_file not working in a for loop(for each time different folder location)?

我想在 for 循环中上传单个文件。每次循环运行时,文件位置都不同。

下面的代码是我尝试过的,

$num =3;
for($i=0; $i<3; $i++) {
        if (isset($_FILES['pic'])) {
            $tmpname = $_FILES['pic']['tmp_name'];
            $dir = $i . "/images";
            if (!file_exists($dir)) {
                mkdir($dir, 0777);
                $index_file = "<?php'nheader('"Location: ../index.php'");'n?>";
                $fp = fopen($dir . "/index.php", "w");
                fwrite($fp, $index_file);
                fclose($fp);
            }
            $ext = $_FILES['pic']['name'];
            $filetype = pathinfo($ext, PATHINFO_EXTENSION);
            $unique_name = (uniqid(rand(), true)) . "." . $filetype;
            if (move_uploaded_file($tmpname, $dir . "/" . $unique_name)) {
                $file = "images/" . $unique_name;
                echo "uploading";
                unlink($i . "/" . $customer["pic"]);
            } else {
                echo "not uploading";
            }
}
由于有多个

文件要上传,因此每个文件都有一个唯一的名称。您需要将$tmpname = $_FILES['pic']['tmp_name'];替换为

$tmpname = $_FILES['pic']['tmp_name'][$i];

$num =3;
for($i=0; $i<3; $i++) {
        if (isset($_FILES['pic'])) {
            $tmpname = $_FILES['pic']['tmp_name'][$i];
            $dir = $i . "/images";
            if (!file_exists($dir)) {
                mkdir($dir, 0777);
                $index_file = "<?php'nheader('"Location: ../index.php'");'n?>";
                $fp = fopen($dir . "/index.php", "w");
                fwrite($fp, $index_file);
                fclose($fp);
            }
            $ext = $_FILES['pic']['name'][$i];
            $filetype = pathinfo($ext, PATHINFO_EXTENSION);
            $unique_name = (uniqid(rand(), true)) . "." . $filetype;
            if (move_uploaded_file($tmpname, $dir . "/" . $unique_name)) {
                $file = "images/" . $unique_name;
                echo "uploading";
                unlink($i . "/" . $customer["pic"]);
            } else {
                echo "not uploading";
            }
}