為了我妻子的生日聚會(huì),我建立了一個(gè)網(wǎng)站,通過(guò)該網(wǎng)站我收集聚會(huì)客人的圖像,然后制作一本好書作為紀(jì)念品??腿擞幸粋€(gè)帳戶,并將圖像上傳到“他們的”文件夾。我現(xiàn)在有一個(gè)工具可以從圖片動(dòng)態(tài)創(chuàng)建幻燈片 - 但不幸的是它無(wú)法遍歷子文件夾。 因此,我的主要目標(biāo)是將圖像文件復(fù)制到一個(gè)指定的文件夾,幻燈片可以從該文件夾中獲取它。然后,我會(huì)每 5 分鐘左右運(yùn)行一次 PHP 腳本作為 cron,并在聚會(huì)期間在屏幕上顯示圖像。
我已經(jīng)找到了一堆代碼片段,它們都做同樣的事情: 它們將所有文件和文件夾遞歸復(fù)制到定義的目的地。 例如。這個(gè)(取自這里:https://code-boxx.com/copy-folder-php/):
<?php // (A) COPY ENTIRE FOLDER function copyfolder ($from, $to, $ext="*") { // (A1) SOURCE FOLDER CHECK if (!is_dir($from)) { exit("$from does not exist"); } // (A2) CREATE DESTINATION FOLDER if (!is_dir($to)) { if (!mkdir($to)) { exit("Failed to create $to"); }; echo "$to created\r\n"; } // (A3) GET ALL FILES + FOLDERS IN SOURCE $all = glob("$from$ext", GLOB_MARK); print_r($all); // (A4) COPY FILES + RECURSIVE INTERNAL FOLDERS if (count($all)>0) { foreach ($all as $a) { $ff = basename($a); // CURRENT FILE/FOLDER if (is_dir($a)) { copyfolder("$from$ff/", "$to$ff/"); } else { if (!copy($a, "$to$ff")) { exit("Error copying $a to $to$ff"); } echo "$a copied to $to$ff\r\n"; } }} } // (B) GO! copyfolder("C:/SOURCE/", "C:/TARGET/"); ?>
這工作得很好,但事實(shí)是它不是我所需要的。該腳本正在復(fù)制文件和文件夾,并將這些文件放入它們所在的相同子文件夾中。我的問(wèn)題是我不想創(chuàng)建子文件夾。我只想讓腳本遍歷所有子文件夾并將找到的圖像文件復(fù)制到一個(gè)文件夾中。 我認(rèn)為這對(duì)于新手來(lái)說(shuō)應(yīng)該是一件容易的事情,但似乎我錯(cuò)了。
任何人都可以幫助我實(shí)現(xiàn)這一目標(biāo)嗎?謝謝!
IT 高盛是對(duì)的 - 將 $to 排除在外;我什至完全刪除了 $to 變量并將我的路徑放在復(fù)制參數(shù)中:
0) { foreach ($all as $a) { $ff = basename($a); // CURRENT FILE/FOLDER if (is_dir($a)) { copyfolder("$from$ff/"); } else { if (!copy($a, "C:/TARGET/$ff")) { exit("Error copying $a to C:/TARGET/$ff"); } echo "$a copied to C:/TARGET/$ff\r\n"; } }} } // (B) GO! copyfolder("C:/SOURCE/"); ?>