Не нравятся результаты поиска? Попробуйте другой поиск!

Как закачать файл к себе на сервер


     07.01.2013    Общие вопросы    2030

вопрос
Здравствуйте, подскажите, можно ли закачать файл на свой VDS сервер с другого сервера. То есть закачать файл с сервер -> мой сервер, минуя закачку на свой компьютер (сервер ->мой компьютер ->мой сервер)?

Ответил: dj-avtosh


Первый. С помощью fopen, fread и прочего. Выглядит обычно так:

$fp = @fopen($sourceFileName, «rb»);
$fd = @fopen($origFileName, «w»);
if ($fp && $fd) {
while (!feof($fp)) {
$st = fread($fp, 4096);
fwrite($fd, $st);
}
}
@fclose($fp);
@fclose($fd);


То есть читаем исходный файл в бинарном режиме и сразу же пишем его в свой каталог.

Второй. Через cURL. По сути это тот же способ, только с использованием cURL – подключаемся, читаем и копируем. При возможности лучше пользоваться вышеуказанным, он понятнее.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $sourceFileName);
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$st = curl_exec($ch);
$fd = @fopen($origFileName, «w»);
fwrite($fd, $st);
@fclose($fd);

curl_close($ch);


То есть здесь для чтения используется cURL, а для записи все тот же стандартный метод.

Третий. Почему-то никто никогда не использует команды Unix (или Windows, смотря какой сервер) для подобных операций. Причем на многих хостингах подобный подход не запрещен. Хотя, конечно, лучше было бы, если был бы свой VDS.

Все очень просто. Делаем следующее:

echo `wget http://site.ru/image.jpg`;

Комментарии пользователей (1)

Disgig
18 | 3

Disgig - 8 января 2013 02:42 - Юзер

Опишите поподробнее как первым способом пользоваться пожалуйста =)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы