Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Нужна помошь (https://forum.antichat.xyz/showthread.php?t=115362)

Tem 11.04.2009 09:24

Нужна помошь
 
Значить так
Есть сервак
Есть шелл на нём
Есть папка на серваке с музыкой.

Задача
Как по средством пхп скоприровать песни с одного сервака на другой ?

P/S tar не предлогать.

razb 11.04.2009 14:03

По фтп на второй серв залогинись и залей

Tem 11.04.2009 16:11

Да уже

Есть веб шелл на нём, фтп и всё остольное нету.

Pashkela 11.04.2009 16:29

Копирует любые локальные файлы на сторонний фтп-сервер:


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$fileFTP_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$fileFTP_BINARY))  echo "$file скопирован\n"
  else  echo 
"Не удалось скопировать $file\n"
  
ftp_close($open); // закрываем фтп-соединение 
}
?>
</pre>

не самый наверняка оптимальный вариант, но рабочий, проверил только что

Gar|k 11.04.2009 17:54

не совсем понял о чем речь... ну елси есть шелл (или веб шелл) нахер использовать php ?
wget для linux, fetch для фряхи

положи в доступную для веба директорию файлы нужные если надо
и спокойно коммандой слей их с другого сервака со скоростью пропускного канала сервера )

я помню с сайтов дампы баз и тд лил на свой серв где у меня был шелл со скоростью 600 мегабит

а уж если ты и tar можешь использовать ваще щастье тебе ) заархивил
и слил темже fetch разархивил радуйся


Время: 09:03