0

管理フォルダーに「リポジトリ」という名前のフォルダーがあります。このフォルダーには、index.html と content.php の 2 つのファイルがあります。ユーザーが新しいページを作成すると、php はユーザーが指定した新しいフォルダーを作成し、2 つのファイルをリポジトリに残したまま、そのフォルダーにコピーする必要があります。

copy(file,dest) は機能しません。rename(file,dest) はファイルを新しいフォルダーに移動しますが、リポジトリでそれらを失います。

元のフォルダのファイルを失わずに、あるフォルダのファイルを新しいフォルダにコピーするにはどうすればよいですか?

$dest = '../'.$menuLocation.'/'.$pageName; 
$file1= "repository/index.html"; 
$file2= "repository/content.php"; 
mkdir($dest,0777); 
rename($file1,$dest.'/index.html'); 
rename($file2,$dest.'/content.php');

$menuLocation と $pageName はユーザーによって提供されます。ファイルはそこにあり、file_exists は true を返します。また、ディレクトリは問題なく作成されます。rename() も機能します。リポジトリ内のファイルが失われるだけです。

4

2 に答える 2

1

これに対する解決策を探している人のために:

PHP で copy() を使用する場合は、ファイル名も含める必要があります。

copy(orginalfile,destination_with_filename);

例えば:

違う:

copy('/temp/sports/basketball.jpg','/images/sports/')

正しい:

copy('/temp/sports/basketball.jpg','/images/sports/basketball.jpg')
于 2010-03-11T21:13:23.127 に答える
0

copy() を使用します。プログラムが機能したかどうかを認識できるように、戻り値をキャプチャしてください。また、ファイルとディレクトリのアクセス許可をチェックして、PHP スクリプトを実行しているユーザーが指定した場所に新しいファイルを作成できることを確認します。これらの仮定を確認するために、ディレクトリで is_writable() を使用することをお勧めします。

于 2010-03-11T17:56:06.063 に答える