Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как закачать файл к себе на сервер

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


     07.01.2013    Как, закачать, файл, к себе, на, сервер    Все вопросы » Общие вопросы    3609

вопрос
Здравствуйте, подскажите, можно ли закачать файл на свой 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
Юзер

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

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

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

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

наверх