2

リモート サーバーから同様の構造のファイルを、サーバー内の同じ構造のファイルにコピーしたいと考えています。

include "../arrays.php";
foreach ($citycode as $city) {
$source = "http://www.remoteserver.com/data/{$city}/";
$dest = "/alltxts/{$city}/";

// EVERYTHING FROM HERE ONWARDS RUNS PERFECTLY, THE PROBLEM IS PROBABLY ABOVE.
function copyr($source, $dest) 
{ 
// Simple copy for a file 
if (is_file($source)) {
    chmod($dest, 777);
    return copy($source, $dest); 
} 

// Make destination directory 
if (!is_dir($dest)) { 
    mkdir($dest); 
}

chmod($dest, 777);

// Loop through the folder 
$dir = dir($source); 
while (false !== $entry = $dir->read()) { 
    // Skip pointers 
    if ($entry == '.' || $entry == '..') { 
        continue; 
    } 

    // Deep copy directories 
    if ($dest !== "$source/$entry") { 
        copyr("$source/$entry", "$dest/$entry"); 
     } 
    } 

// Clean up 
$dir->close(); 
return true; 
}
}

ファイルをコピーするコードは、特定の $citycode を $city として使用すると問題なく動作します。ただし、配列を使用してすべての都市名を 1 行でキャッチすると、機能しません。何か案は?助けていただければ幸いです、ありがとう!

4

1 に答える 1

1

あなたが探しているもの:

$source = "http://www.remoteserver.com/data/{$city}/";
$dest = "/alltxts/{$city}/";

file_put_contents($dest, file_get_contents($source));

にファイルを保存するための適切な権限があることを確認してください/alltxts/'。また、リーディング/は私には奇妙に見えます。alltexts/代わりに(相対パス)のようなものを意味しますか?

于 2013-07-31T12:20:05.137 に答える