ホームページ  >  記事  >  バックエンド開発  >  PHP ファイル操作のヒント: さまざまなコピー方法

PHP ファイル操作のヒント: さまざまなコピー方法

王林
王林オリジナル
2023-06-20 08:05:332941ブラウズ

PHP は、ファイル操作に最適な、広く使用されているオープン ソースのサーバー側プログラミング言語です。 PHPではファイルのコピーは比較的一般的な操作であり、ファイルのバックアップだけでなく、データの転送やバックアップなどの操作も行うことができます。

この記事では、PHP のさまざまなコピー方法を紹介します。お役に立てれば幸いです。

1. フォルダー全体をコピーします

フォルダー全体をコピーする必要がある場合は、次のメソッドを使用できます:

function copyDir($dirFrom, $dirTo) {
    // 检查是否存在目录。
    if(!is_dir($dirTo)) mkdir($dirTo);
    // 打开目录。
    $handle = opendir($dirFrom);
    // 读取目录中的文件。
    while(false !== ($file = readdir($handle))) {
        // 忽略 . 和 .. 文件夹。
        if($file != "." && $file != "..") {
            // 复制文件。
            if(is_file($dirFrom."/".$file)) {
                copy($dirFrom."/".$file, $dirTo."/".$file);
            }
            // 递归复制子目录。
            if(is_dir($dirFrom."/".$file)) {
                copyDir($dirFrom."/".$file, $dirTo."/".$file);
            }
        }
    }
    // 关闭目录。
    closedir($handle);
}

このメソッドでは、以下を含むフォルダー全体がコピーされます。すべてのサブディレクトリとドキュメント。

2. 単一ファイルのコピー

単一ファイルのみをコピーする必要がある場合は、次のコードを使用できます:

// 复制文件。
$srcFile = "file1.txt";
$destFile = "file2.txt";
if(!copy($srcFile, $destFile)) {
    echo "无法复制 $srcFile...
";
}

3. 相対パス ## をコピーします。

# 以下のコードは、相対パスを使用してファイルをコピーします (たとえば、両方のファイルが同じフォルダーにある場合):

// 复制文件。
$srcFile = "file1.txt";
$destFile = "file2.txt";
if(!copy("../".$srcFile, "../".$destFile)) {
    echo "无法复制 $srcFile...
";
}

4. ファイル ストリーム コピーを使用します

ファイルの内容を別のファイルにコピーしたい ファイルでは、次のコードを使用できます:

// 打开源文件。
$srcFile = fopen("file1.txt", "r");
// 打开目标文件。
$destFile = fopen("file2.txt", "w");
// 从源文件读取,并写入目标文件。
while (($buffer = fgets($srcFile, 4096)) !== false) {
    fwrite($destFile, $buffer);
}
// 关闭文件。
fclose($srcFile);
fclose($destFile);

5. リモート サーバーにコピー

次のコードは、ファイルをリモート サーバーにコピーします。

// 远程服务器地址。
$remoteServer = "example.com";
// 远程服务器用户名。
$remoteUser = "user";
// 远程服务器密码。
$remotePass = "password";
// 远程服务器文件夹。
$remotePath = "/path/to/remote/folder/";
// 本地文件。
$localFile = "file1.txt";
// 连接到远程服务器。
$conn = ftp_connect($remoteServer);
// 登录到远程服务器。
$login = ftp_login($conn, $remoteUser, $remotePass);
// 上传文件。
if (ftp_put($conn, $remotePath."/".basename($localFile), $localFile, FTP_BINARY)) {
    echo "文件上传成功";
} else {
    echo "文件上传失败";
}
// 关闭FTP连接。
ftp_close($conn);

6. 複数のファイルをコピーする

複数のファイルをコピーしたい場合は、次のコードを使用できます:

// 复制多个文件。
$srcFiles = array("file1.txt", "file2.txt", "file3.txt");
$destFolder = "backup/";
// 循环复制文件。
foreach($srcFiles as $file) {
    $destFile = $destFolder.basename($file);
    if(!copy($file, $destFile)) {
        echo "无法复制 $file...
";
    }
}

上で述べたように、ここに一般的な PHP ファイルをいくつか示します。コピーメソッド。それぞれの方法はさまざまな状況に特有のものなので、この記事がお役に立てば幸いです。

以上がPHP ファイル操作のヒント: さまざまなコピー方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。