PHP - 如何在多个目录中上传文件

时间:2011-07-06 16:19:19

标签: php

如何使用php在多个文件夹(例如folder1和folder2)中上传单个文件(ex.sample.jpg)

我尝试使用for循环,但它不会将文件(sample.jpg)移动到第一个文件夹(folder1),而将同一文件移动到第二个文件夹(folder2)则会抛出错误

6 个答案:

答案 0 :(得分:1)

您可以在将文件移动到第一个目录之前创建该文件的副本,然后将该副本移动到第二个目录中。

使用copy()功能复制文件。

您的代码应该如下所示 -

$firstDestination = "path/to/your/firstDirectory/" . $_FILES['userfile']['name'];
$secondDestination = "path/to/your/secondDirectory/";

move_uploaded_file($_FILES['file']['tmp_name'], $firstDestination );
copy($firstDestination, $secondDestination);

答案 1 :(得分:1)

尝试复制文件,如下所示:

move_uploaded_file($_FILES['file']['tmp_name'], 'folder1/ex.sample.jpg');
copy('folder1/ex.sample.jpg', 'folder2/ex.sample.jpg');

答案 2 :(得分:1)

首次移动文件后,您需要将其从新位置复制到其他位置。

$fileDestination = '/my/path';
$newDestination = '/my/other/path';
move_uploaded_file($_FILES['upload']['tmp_name'], $destination);
copy($destination, $newDestination);

答案 3 :(得分:0)

你有一个小编码示例/样本吗?

您可能需要将其移至第一个文件夹,然后将其复制到后续文件夹中。

如果你正在使用move_uploaded_file(),它会移动而不是复制,所以一旦你第一次调用它就不再存在它的原始位置。

http://uk.php.net/manual/en/function.move-uploaded-file.php

答案 4 :(得分:0)

你可以使用这样的东西 Html表单

<form action="createsubfiles.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile"/>
<input type="submit" name="uploadthefile" value="Upload" class="btn btn-info"/>
</form>

php

    foreach ($instanceof->somemethod($sn) as $directory){
            extract($directory);
    $target_dir = $parent/$child/filename.php;
    if( copy($_FILES['uploadfile']["tmp_name"], $target_dir)){

            echo "$target_dir - created<br/>";
       }
            else{
           echo "Directory cuold not be created<br/>";
       }
}

不使用文件上传

执行此操作

答案 5 :(得分:0)

您不能通过为单个文件调用move_uploaded_file()多个来存储。但这是一个好消息;您可以将上传的文件复制到多个目录,如

if(move_uploaded_file()){
    $main_file = first_directory+file name;
    $copy_file = second_directory+file name; 
    copy ($main_file, $copy_file); #put both parameters in copy function 
}