私は、Webサーバー上のあるドメインから別のドメインにcopy()を使って複数のファイルをコピーしようとしていますが、リストの最後のファイル。複数のファイルをコピーするforeachループでcopy()を使用するphp
は、ここでファイル-list.txtにの内容は次のとおりです。
/templates/template.php
/admin/admin.css
/admin/codeSnippets.php
/admin/editPage.php
/admin/index.php
/admin/functions.php
/admin/style.php
/admin/editPost.php
/admin/createPage.php
/admin/createPost.php
/admin/configuration.php
このスクリプトは、私はにファイルをコピーしようとしているウェブサイト上で実行されます。ここではスクリプトがあります:
$filesList = file_get_contents("http://copyfromhere.com/copythesefiles/files-list.txt");
$filesArray = explode("\n", $filesList);
foreach($filesArray as $file) {
$filename = trim('http://copyfromhere.com/copythesefiles' . $file);
$dest = "destFolder" . $file;
if([email protected]($filename, $dest))
{
$errors= error_get_last();
echo "COPY ERROR: ".$errors['type'];
echo "<br />\n".$errors['message'];
} else {
echo "$filename copied to $dest from remote!<br/>";
}
}
私はちょうど私が必要として個別にそれぞれ、すべてのファイルのための肯定的なメッセージが表示されますが、私はディレクトリをチェックしたときに、ファイル・list.txtにから唯一の最後のファイルがあります。私は順序を変更しようとしたので、問題はスクリプトにあり、個々のファイルではないことがわかっています。あなたがそのリモートサイトからフェッチしているデータは、パス/ファイル名で/
をリードしていない限り、あなたは
http://copyfromhere.com/copythesefiles/admin/admin.css copied to updates/admin/editPage.php from remote!
http://copyfromhere.com/copythesefiles/admin/admin.css copied to updates/admin/editPost.php from remote!
http://copyfromhere.com/copythesefiles/admin/admin.css copied to updates/admin/index.php from remote!
その他、各種
警告/エラーをここで抑制する正当な理由がないので、まずコピー前に '@'を削除することをお勧めします。次に、サーバー上のPHPエラーログを調べて、あなたに手がかりを与えるかどうかを確認します。 –
'foreach'ループは決して閉じられません、実際のコードにあると思いますか? –
良い目。私は上記のコードで 'foreach'を閉じるのを忘れましたが、私は実際のコードで同じエラーを出しませんでした。 – Ethan