多个文件上传到特定文件夹

时间:2018-04-23 17:45:22

标签: php wordpress plugins upload

我试图在wordpress上创建插件,我需要将多个图片上传到服务器上的特定文件夹...

我目前有

<form method="post" enctype="multipart/form-data">
<input type="file" name="my_file[]" multiple="multiple">
<input type="submit" value="Upload">
</form>

这是读取并应该上传文件的代码......

    if (isset($_FILES['my_file'])) {
        $myFile = $_FILES['my_file'];
        $fileCount = count($myFile["name"]);

        for ($i = 0; $i < $fileCount; $i++) {
                $name = $myFile["name"][$i];
                $error_msg = $myFile["error"][$i];

                $success = move_uploaded_file($myFile["tmp_name"][$i], $photo_dir."/".$name);

                if ($success) {
                    echo $name ." uploaded<br>";
                } else {
                    echo $error_msg;
                }

        }
    }

有没有办法让它报告错误 - 如果文件名已经存在,那么jsut会覆盖旧版本......

1 个答案:

答案 0 :(得分:0)

当您上传文件时,PHP会将文件存储在临时文件夹中。

您必须将文件从临时文件夹移动到要存储文件的文件夹。

以下是使用您的代码的示例:

if (isset($_FILES['my_file'])) {

    $myFile = $_FILES['my_file'];
    $fileCount = count($myFile["name"]);

    // The folder that you want to store the file
    $folderName = 'tmp/';

    for ($i = 0; $i < $fileCount; $i++) {

        $fileName = $myFile["name"][$i];

        $success = move_uploaded_file($myFile["tmp_name"][$i], $folderName . $fileName);

        if ($success) {
            echo 'File ' . $fileName . ' uploaded!<br>';
        }

    }

}