Перенести файлы с одного хоста на другой, выкачивать вручную и перезаливать, очень нудно. Было принято решение, написать скрипт, который пробежится по всем папкам сайта, и перезальёт их на удалённый FTP...
-
<?php
-
-
-
-
-
-
$sdelete = 1; // Удалить скрипт после завершения (1|0)
-
$ftp_server = "XXX.XXX.XXX.XXX"; // IP FTP Сервера
-
$ftp_login = "ppc@serj.ws"; // FTP Логин
-
$ftp_pass = "YieyCnfklsjfmfi"; // FTP Пароль
-
$ftp_port = 21; // FTP Порт
-
$ftp_timeout = 100; // Таймаут
-
$pause = 0;
-
$l_folder = '/home/kiwi/project/kiwi.kz'; // Директория откуда выкачивать
-
$r_folder = '/root/dumps/kz/kiwikz'; // ФТП директория куда закачивать
-
-
-
-
-
while (false !== ($f = readdir($dh)))
-
$fs[] = $f;
-
-
return $fs;
-
}
-
}
-
-
function fold ($rootDir, $allData=array()) {
-
$invisibleFileNames = array(".", "..");
-
-
foreach($dirContent as $key => $content) {
-
$path = $rootDir.'/'.$content;
-
if(!in_array($content, $invisibleFileNames)) {
-
-
-
$allData[0][] = $path;//files
-
$allData[1][] = $res[0];//folders
-
-
$allData = fold($path, $allData);
-
}
-
}
-
}
-
return $allData;
-
}
-
-
$b = fold($l_folder);
-
-
$open = ftp_connect($ftp_server,$ftp_port,$ftp_timeout);
-
-
-
-
for ($i=0;$i<$count;$i++) {
-
if ($b[1][$i] != trim($l_folder) . "/") {
-
-
$dir = $r_folder . substr($dir, 0, -1);
-
-
}
-
}
-
-
-
-
for ($i=0;$i<$count1;$i++) {
-
$file = $b[0][$i];
-
$newfile = $r_folder . str_replace($l_folder,"",$file);
-
-
-
ftp_put($open, $newfile, $file, FTP_BINARY );
-
-
}
-
-
if ($sdelete==1) unlink($_SERVER["SCRIPT_FILENAME"]);
-
-
echo 'Complete :)';
-
?>
Источник: http://serj.ws/content/194
|