踩坑PHP複製檔案到另外資料夾

d^c發表於2020-12-24

場景:將一個資料夾中的500個檔案分別複製到新建的500個資料夾中

程式碼展示

/**
     * 生成500個資料夾
     */
    public function mkdir()
    {
        for ($i = 1; $i < 501; $i++) {
            if ($i < 10) {
                $i = '00' . $i;
            } elseif ($i > 9 && $i < 100) {
                $i = '0' . $i;
            }
            File::makeDirectory('C:\Users\cain\Desktop\news\\' . $i, 777);

        }
    }

    /**
     * 複製操作
     */
    public function copyFile()
    {
        $arr = [];
        $resource = opendir('C:\Users\cain\Desktop\rename\new');
        while ($row=readdir($resource)){
            if ($row == "." || $row == ".."){
                continue;
            }
            array_push($arr,$row);
        }
        closedir($resource);
        $filename = File::directories('C:\Users\cain\Desktop\news');
        for ($i=1;$i<501;$i++){
            $oldname = 'C:\Users\cain\Desktop\rename\new\/'.$arr[$i-1];
            $newpath = $filename[$i-1].'/';
            copy($oldname,$newpath.$arr[$i-1]);
        }
    }

注意,copy()函式一定要帶檔名,否則回報錯,要引入門面哦:

use Illuminate\Support\Facades\File;

效果展示:在這裡插入圖片描述

相關文章