Jump to content

Загрузить с источника на FTP


Recommended Posts

Ребят подскажите, реально ли такое вообще:

Мысль в том, что у меня есть ссылка на файл, могу ли я не скачивая его к себе на машину загрузить на сервер через FTP?

Если да, то подскажите каким именно образом это сделать. Если нет, то проблема заключается в том, что пропускная способность моего канала очень мала(200 кбайт/с и 40 кбайт/с), но мне надо с некой периодичностью закидывать файлы на сервер. Как это можно упростить не теряя время? Т.е. если я буду скачивать, а потом закидывать на сервер то файлик в 500 мб будет у меня качаться час, а потом целый день загружаться на сервер.

Link to post
Share on other sites

В таком случае рекомендую использовать VPS. А там доступна консоль, через которую простыми командами можно загружать файлы (один wget чего стоит).

Сам вот на этом, его и рекомендую.

Link to post
Share on other sites
  • Модератор

FileZilla позволяет такое делать

Поддержу коллегу по цеху. Ставить себе на хостинг FileZilla и качаете себе на фтп с сети что нужно (там же вроде и упаковщик есть), т. е. предоставляется широкий функционал для работы с файлами удаленно.

Link to post
Share on other sites

 

 


Ставить себе на хостинг FileZilla и качаете себе на фтп

Я так понял Вы имеете ввиду FileZilla Server?

Интересно, спасибо. Поищу информацию. Правда дело в том, что сервер не мой, у меня есть всего лишь доступ к FTP и всё, поэтому может поставить FileZilla будет проблемно.

Link to post
Share on other sites

Я так понял Вы имеете ввиду FileZilla Server?

Интересно, спасибо. Поищу информацию. Правда дело в том, что сервер не мой, у меня есть всего лишь доступ к FTP и всё, поэтому может поставить FileZilla будет проблемно.

FileZilla Client достаточно для полноценной работы Сайт filezilla-project.org

Link to post
Share on other sites

По моему самый простой это вариант на PHP

<?php

$fp = fopen('http://domain.com/file.zip','r');
$con = ftp_connect('yourftp.com');
$login = ftp_login($con, 'user', 'pass');
ftp_fput($con, '/path/file.zip', $fp, FTP_ASCII);
ftp_close($con);
fclose($fp);

?>


Без FTP

<?php

file_put_contents('/path/file.zip',file_get_contents('http://domain.com/file.zip'));

?>

Разместить у себя на хостинге, при желании дописать небольшую форму для вставки url, чтоб постоянно не править файл.

Link to post
Share on other sites

 

 


По моему самый простой это вариант на PHP

Да это просто, но как понять, что файл уже загрузился или сколько уже загрузилось и тд. Спасибо большое, это будет запасным вариантом.

Link to post
Share on other sites

Вот ещё третий вариант, с просмотром состояния. Но для работы скорее всего нужен будет VPS.

<?php
$log = 'download.log';
$url = @trim($_POST['url']);

echo '
<form method="POST">
File to get: <input name="url" value="http://domain.com/file.zip" type="text" size="30"> 
<input type="submit" value="Start">
</form> 
<a href="'.$_SERVER['SCRIPT_NAME'].'">Status</a>
<hr>';

if(!empty($url))
	system("wget '$url' --append-output='$log';rm $log;");
if(is_file($log))
	echo "<pre>".file_get_contents('download.log')."</pre>";
?>
Link to post
Share on other sites

Думается что нет. Из трёх только первый использует фтп. А для чего вам нужен именно фтп?

 

К примеру, сохраняете последний скрипт у себя на сайте/сервере в нужную ва директорию, открываете в браузере http://site.ru/download/get.php, вписываете url. Скрипт запустит wget и начнёт скачивание файла и попутно будет писать результат работы в файл download.log.

Link to post
Share on other sites

Сайт находится на вашем сервере или это виртуальный хостинг? Директория доступна для записи? Попробуйте поставить 0777. Можете написать в аську 69073OO48 разберёмся.

Link to post
Share on other sites

Сдаётся мне, что ничего не получилось из-за того что на хостинге модуль для PHP не стоит один, который позволяет делать индекаторы загрузки всевозможные. С VPS всё намного проще. Правильно говорят))

Link to post
Share on other sites
  • 1 month later...

Тема опять актуальна. Проект уже другой и проблема опять появилась.

Вопрос в том, что: Если через движок можно загружать файлы на хост, то почему с самописного скрипта нельзя?

Хост коннектится через SFTP. Начал юзать ssh2 sftp, но есть ошибка не могу понять.

Fatal error: Call to undefined function ssh2_connect() in D:\heim\OpenServer\domains\parser\functions\upload.php on line 2

Где он не находит эту функцию? В apache она не установлена или что?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...