Значить так Есть сервак Есть шелл на нём Есть папка на серваке с музыкой. Задача Как по средством пхп скоприровать песни с одного сервака на другой ? P/S tar не предлогать.
Копирует любые локальные файлы на сторонний фтп-сервер: PHP: <?php @set_time_limit(0); @ini_set("display_errors","1"); $file = "имя_файла.mp3"; // Локальный файл, который копируем (абсолютный путь или просто название, если скрипт в этой же папке) $newfile = '/http/имя_файла.mp3'; // Куда копируем (абсолютный путь на нашем ДРУГОМ сервере, фтп доступ) $open = ftp_connect("фтп-сервер","21","100"); // сервер, порт, таймаут if(!ftp_login($open,"фтп-логин","фтп-пароль")) exit("Не могу соединиться"); # Копируем # if (ftp_put($open, $newfile, $file, FTP_BINARY)) echo "$file скопирован\n"; else echo "Не удалось скопировать $file\n"; ftp_close($open); // закрываем фтп-соединение ?> а вот так копирует целыми папками: PHP: <pre> <?php @set_time_limit(0); @ini_set("display_errors","1"); $l_folder = '/home/www/bla-bla-bla/http/s1/'; // Полный абсолютный путь к папке, //которую тырим на наш фтп (в конце слеш) $r_folder = '/http/s1/';// Полный абсолютный путь к папке, //в которую будем копировать стыренное, //находится на нашем фтп (в конце слеш). //Должна быть создана заранее. function ff($dir) { if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if (filetype($dir . $file)=="file") // Если тип переменной - file $arr[] = $file; } closedir($dh); } } return $arr; } $b = ff($l_folder); $count = count($b); for ($i=0;$i<$count;$i++) { $file = $l_folder.$b[$i]; // Файл, который копируем $newfile = $r_folder.$b[$i]; // Файл приемник $open = ftp_connect("фтп-сервер","21","100"); // сервер, порт, таймаут if(!ftp_login($open,"фтп-логин","фтп-пароль")) exit("Не могу соединиться"); # Копируем # if (ftp_put($open, $newfile, $file, FTP_BINARY)) echo "$file скопирован\n"; else echo "Не удалось скопировать $file\n"; ftp_close($open); // закрываем фтп-соединение } ?> </pre> не самый наверняка оптимальный вариант, но рабочий, проверил только что
не совсем понял о чем речь... ну елси есть шелл (или веб шелл) нахер использовать php ? wget для linux, fetch для фряхи положи в доступную для веба директорию файлы нужные если надо и спокойно коммандой слей их с другого сервака со скоростью пропускного канала сервера ) я помню с сайтов дампы баз и тд лил на свой серв где у меня был шелл со скоростью 600 мегабит а уж если ты и tar можешь использовать ваще щастье тебе ) заархивил и слил темже fetch разархивил радуйся