Скрип передачи файлов с сервера на сервер

Slaxor

Постоялец
Регистрация
23 Май 2012
Сообщения
76
Реакции
37
Задача, передача файлов с одного сервера на другой минуя мой компютер.

Размер файлов 200-1000 мб.

Тоесть я отдаю скрипту ссылку на файл, а он копирует его на мой сервер в нужную папку.

Поделитесь скриптиком.
 
скрипт называется "передача руками через протокол ftp", на крайний случай скачивать утилитой wget
 
через http

PHP:
<?php
$url = 'http://site.ru/file.zip';
set_time_limit(0);
$fp = fopen (dirname(__FILE__) . '/file.zip', 'w+');
$ch = curl_init(str_replace(" ","%20",$url)); // если в урле есть пробелы, то исправляем
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
 
исходных данных мало - "мой сервер" - слишком расплывчатое понятие.
Если это VPS etc, ну или на крайняк хотя бы к одному из серверов есть ssh, то задача решаема без проблем.
Если это 2 фтп, то скорее всего
Это не возможно исходя из политики безопасности.
Если только в этой самой безопасности дырок нет.
Можно проверить, например так: заливаете шелл и пробуете выполнить команду, например wget ...
Тут на форуме буквально на днях выкладывали пак различных PHP скриптов - вот Для просмотра ссылки Войди или Зарегистрируйся
Там среди прочих есть скрипт с выразительным названием качаем_с_FTP_на_FTP.php - проверьте, может сработает...
Я не проверял.
 
через http

PHP:
<?php
$url = 'http://site.ru/file.zip';
set_time_limit(0);
$fp = fopen (dirname(__FILE__) . '/file.zip', 'w+');
$ch = curl_init(str_replace(" ","%20",$url)); // если в урле есть пробелы, то исправляем
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

C этиме не прокатило, такая беда

Код:
Warning: set_time_limit() has been disabled for security reasons in /home/u875850418/public_html/download.php on line 3

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/u875850418/public_html/download.php on line 8

Хостинг фришный хостингер, SSH там нету, но вот смотрю Joomla же загружает расширения напрямую по ссылке.
 
ну скорее всего для небольших файлов там используется fopen() или file_get_contents(), но для больших файлов они не подойдут тем более на шареном хостинге
 
А при полном доступе по SSH это можно реализовать?

имееться в веду обойти это
Warning: set_time_limit() has been disabled for security reasons in
 
да, если есть SSH и в консоли работает wget, тогда php тут вообще не уперся
 
Назад
Сверху