Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menyalin Kandungan Direktori Menggunakan PHP?

Bagaimana untuk Menyalin Kandungan Direktori Menggunakan PHP?

Mary-Kate Olsen
Lepaskan: 2024-10-31 13:49:01
asal
1064 orang telah melayarinya

How to Copy Directory Contents Using PHP?

Salin Kandungan Direktori Menggunakan PHP

Isu Pelaksanaan: Kad liar Tidak Dikenali

Salinan arahan ("old_location/*.*","new_location/ ") gagal kerana kad bebas (*.*) tidak dikenali secara langsung oleh fungsi copy().

Fungsi Salin Rekursif

Untuk menyalin kandungan keseluruhan direktori, termasuk subdirektori dan fail, fungsi salinan rekursif diperlukan. Berikut ialah contoh:

<code class="php">function recurseCopy(string $sourceDirectory, string $destinationDirectory, string $childFolder = ''): void 
{
    $directory = opendir($sourceDirectory);

    if (is_dir($destinationDirectory) === false) {
        mkdir($destinationDirectory);
    }

    if ($childFolder !== '') {
        if (is_dir("$destinationDirectory/$childFolder") === false) {
            mkdir("$destinationDirectory/$childFolder");
        }

        while (($file = readdir($directory)) !== false) {
            if ($file === '.' || $file === '..') {
                continue;
            }

            if (is_dir("$sourceDirectory/$file") === true) {
                recurseCopy("$sourceDirectory/$file", "$destinationDirectory/$childFolder/$file");
            } else {
                copy("$sourceDirectory/$file", "$destinationDirectory/$childFolder/$file");
            }
        }

        closedir($directory);

        return;
    }

    while (($file = readdir($directory)) !== false) {
        if ($file === '.' || $file === '..') {
            continue;
        }

        if (is_dir("$sourceDirectory/$file") === true) {
            recurseCopy("$sourceDirectory/$file", "$destinationDirectory/$file");
        } 
        else {
            copy("$sourceDirectory/$file", "$destinationDirectory/$file");
        }
    }

    closedir($directory);
}</code>
Salin selepas log masuk

Penggunaan

Untuk menggunakan fungsi ini, panggilnya dengan direktori sumber, direktori destinasi dan subfolder pilihan (jika perlu).

<code class="php">recurseCopy("old_location", "new_location");</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyalin Kandungan Direktori Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan