将文件夹和文件移动到文件夹

时间:2019-05-04 00:03:27

标签: php

我需要很多帮助! 我将在下面编写代码,将文件夹及其中的文件复制到文件夹“ Backup_Archives”,即在文件夹中上传的内容为:

uploads/a1/arq.pdf
uploads/a2/arq2.pdf

因此备份文件夹将在复制后:

Backup_Archives/a1 /arq.pdf
Backup_Archives/a2/arq2.pdf

我希望复制文件夹/文件,复制完成后,删除子文件夹中的所有文件,例如:

uploads/a1/ "arq.pdf"
uploads/a2/ "arq2.pdf"

代码:

<?php
    // pega a lista de arquivos com a extensão pdf.
    $list = glob(__dir__.'/uploads/a1/*.pdf');

    // diretorio aonde serão remanejados. 
    $save = __dir__.'/uploads/Backup_Arquivos/';
        echo 'Nenhum arquivo será movido caso nenhuma mensagem abaixo apareça!<br>';
    foreach ($list as $value) {
        if (rename($value, $save.basename($value))) {
            echo '<br>Item da Enviado com êxito! <br>';
        }
    }
?>

注意:我的代码仅将文件从文件夹移动到Backup_Files文件夹。

谢谢!

1 个答案:

答案 0 :(得分:1)

您要移动的文件无法复制

  

布尔重命名(字符串old_name,字符串new_name [,资源上下文])

     

布尔型副本(字符串源,字符串目标)

     

布尔取消链接(字符串文件名,资源上下文)

因此,就您而言,您不必删除文件。

如果要复制然后删除文件

应该看起来像这样

<?php
// pega a lista de arquivos com a extensão pdf.
$list = glob(__dir__.'/uploads/a1/*.pdf');

// diretorio aonde serão remanejados.
$save = __dir__.'/uploads/Backup_Arquivos/';
echo 'Nenhum arquivo será movido caso nenhuma mensagem abaixo apareça!<br>';
foreach ($list as $value) {
    if (copy($value, $save.basename($value))) {
        echo '<br>Item da Enviado com êxito! <br>';
        unlink($value);
    }
}
?>