web-dev-qa-db-ja.com

PHPを使用して、あるディレクトリから別のディレクトリにファイルをコピーする方法は?

fooディレクトリだけでなくbarディレクトリにもファイルtest.phpがあるとします。 PHPを使用してbar/test.phpfoo/test.phpに置き換えるにはどうすればよいですか?私はWindows XPを使用しています。クロスプラットフォームソリューションは素晴らしいと思いますが、Windowsをお勧めします。

135
Click Upvote

copy() 関数を使用できます:

// Will copy foo/test.php to bar/test.php
// overwritting it if necessary
copy('foo/test.php', 'bar/test.php');


マニュアルページから関連する文章を引用する:

ファイルソースのコピーをdestに作成します。

宛先ファイルがすでに存在する場合、上書きされます。

254
Pascal MARTIN

rename() 関数を使用できます:

rename('foo/test.php', 'bar/test.php');

ただし、これはmoveファイルをコピーしますnot copy

25
Dizzi

copy はこれを行います。 php-manual を確認してください。簡単なGoogle検索で最後の2つの質問に答えてください。

13
cweinberger

PHPを使用してすべてのファイルをあるフォルダーから別のフォルダーにコピーする最良の方法

<?php
$src = "/home/www/example.com/source/folders/123456";  // source folder or file
$dest = "/home/www/example.com/test/123456";   // destination folder or file        

Shell_exec("cp -r $src $dest");

echo "<H2>Copy files completed!</H2>"; //output when done
?>

これをコピーして貼り付けることができます

<?php
     $file = '/test1/example.txt';
     $newfile = '/test2/example.txt';
     if(!copy($file,$newfile))
     {
         echo "failed to copy $file";
     }
     else
     {
         echo "copied $file into $newfile\n";
     }
?>`

複数または無制限のファイルをコピーするには、次のリンクにアクセスしてください。 http://www.phpkida.com/php-tutorial/copy-multiple-files-from-one-folder-to-another-php/

2
Mukesh Jakhar

こんにちはみんなも、動的なコピーと貼り付けを使用してコピーする方法を追加したかったです。

ユーザーが作成する実際のフォルダはわからないが、削除、更新、ビューなどの機能を有効にするために、そのフォルダにファイルをコピーする必要があることを知っているとしましょう。

このようなものを使用することができます...私は現在忙しい複雑なプロジェクトの1つでこのコードを使用しました。インターネットで得たすべての答えがエラーを出していたので、私は自分でそれを構築しました。

    $dirPath1 = "users/$uniqueID"; #creating main folder and where $uniqueID will be called by a database when a user login.
    $result = mkdir($dirPath1, 0755);
            $dirPath2 = "users/$uniqueID/profile"; #sub folder
            $result = mkdir($dirPath2, 0755);
                $dirPath3 = "users/$uniqueID/images"; #sub folder 
                $result = mkdir($dirPath3, 0755);
                    $dirPath4 = "users/$uniqueID/uploads";#sub folder
                    $result = mkdir($dirPath4, 0755);
                    @copy('blank/dashboard.php', 'users/'.$uniqueID.'/dashboard.php');#from blank folder to dynamic user created folder
                    @copy('blank/views.php', 'users/'.$uniqueID.'/views.php'); #from blank folder to dynamic user created folder
                    @copy('blank/upload.php', 'users/'.$uniqueID.'/upload.php'); #from blank folder to dynamic user created folder
                    @copy('blank/delete.php', 'users/'.$uniqueID.'/delete.php'); #from blank folder to dynamic user created folder

FacebookやTwitterはこのようなものを使用して、新しいユーザーダッシュボードをすべて動的に構築すると思います。

1
Makhi Ngubane

Rename()とcopy()の両方を使用できます。

ソースファイルをその場所に残す必要がなくなった場合は、名前変更を使用する傾向があります。

0
Eclipse