所以我試圖做一個功能,使一個文件夾和所有內容(與子文件夾)的本地副本,並將副本發送到遠程服務器,本地副本是好的,但FTP副本沒有格式化它應該的方式。他們都擁有所有文件,但ftp版本沒有正確格式化文件結構。我看,但無法找到任何帖子與這個問題,所以任何指針會有所幫助。文件結構問題,從PHP的FTP。
實施例:正確
- 主
子1分2分3分4分-
- 4 - 1
- 4 - 2
-
但是,這是我所得到的,
- 主要
- 分4
- 子0F 4 - 1
- 子0F 4 - 2
- 子3
- 子2
- 子1
- 子2
- 子3
- 子0F 4 - 2
- 子0F 4 - 1
- 分4
function copyr($source, $dest, $conId) {
$sourceName = explode('/',$dest);
$sourceName = $sourceName[count($sourceName)-1];
// copy file
if (is_file($source)) {
$upLink = ftp_fput($conId, $sourceName, fopen($source, 'r'), FTP_ASCII);
return copy($source, $dest);
}
// Make destination directory
if (!is_dir($dest)) {
mkdir($dest);
ftp_mkdir($conId, $sourceName);
ftp_chdir($conId, $sourceName);
} else if(is_dir($dest)){ // go to one that has been made.
ftp_chdir($conId, $sourceName);
}
// Loop the folder
$dir = dir($source);
while (false !== $entry = $dir->read()) {
// Skip pointers
if ($entry == '.' || $entry == '..') {
continue;
}
// Copy sub directories
if ($dest !== "$source/$entry") {
copyr("$source/$entry", "$dest/$entry", $conId, $entry);
}
}
// Clean up
$dir->close();
return true;
}
$source = 'images';
$dest = 'NewImages';
if(copyr($source, $dest, $conId)){
echo "It's finished .... Good.";
} else {
echo "Failed ... ";
}
ftp_close($conId);
這是我從php.net複製的其他部分,在查看ftp的.net手冊後放在一起。
謝謝。
遞歸。就這些。 –
嗯,我明白了,但我不確定爲什麼該結構在本地副本上是正確的,但不是遠程副本。 – webLacky3rdClass
哦,我現在看到... –