2

Хорошо, у меня есть файл tar.gz где-то на веб-сервере. Ссылка выглядит как http://abcd.com/abcd.tar.gz .. И у меня где-то работает FTP-сервер. Теперь, чтобы загрузить файл на FTP-сервер, как правило, мне нужно загрузить его с веб-сервера, а затем снова загрузить его на FTP-сервер.

Но мне интересно, если так или иначе, я могу напрямую передать файл на FTP-сервер через Интернет. Не загружая и загружая снова. Любая помощь?

5 ответов5

4

Не существует перекрестной спецификации HTTP и FTP, которая позволяла бы им взаимодействовать. Кто-то где-то должен был бы загрузить, а затем загрузить его.

Если у вас есть доступ оболочки к веб-серверу, самый простой способ - загрузить его напрямую с веб-сервера на сервер ftp с помощью команды ftp (при условии, что это сервер * nix).

Если у вас есть доступ оболочки к ftp-серверу, вы также можете использовать команду wget для загрузки файла непосредственно на ftp-сервер, опять-таки, предполагая, что это сервер * nix.

1

Вы можете взглянуть на AutoFileMove , он позволяет пользователям отправлять файлы по FTP, dropbox и amazon s3 с URL-адреса без предварительной загрузки файлов на локальные устройства.
http://youtu.be/sSgqfeMl9is

1

Вы можете взглянуть на протокол обмена файлами, если у вас есть FTP-доступ к серверу веб-сайта (HTTP), а на вашем FTP-сервере и на сервере FTP веб-сайта включен FXP.

0

Попробуй это:
Загрузите файл php с этим кодом, например, copy.php

    <?php
    copy("http://abcd.com/abcd.tar.gz","abcd.tar.gz");
    echo "File Uploaded";
    ?>

Теперь откройте http://www.your-site.com/copy.php в вашем браузере. Подождите, пока copy.php загрузится полностью. Наслаждайтесь!

0

Если ваш сервер поддерживает PHP, вы можете загрузить файл PHP (1 или 2 КБ) - откройте его через http, скопируйте, вставьте URL-адрес в соответствующее поле и отправьте. Ваш сервер загрузит его для вас.

<html>
<form method="post">
<input name="url" size="50" />
<input name="submit" type="submit" />
</form>
 <?php
    // maximum execution time in seconds
   set_time_limit (24 * 60 * 60);

if (!isset($_POST['submit'])) die();

// folder to save downloaded files to. must end with slash
// $destination_folder = 'download/';

$url = $_POST['url'];
$newfname = basename($url);

$file = fopen ($url, "rb");
if ($file) {
  $newf = fopen ($newfname, "wb");

  if ($newf)
  while(!feof($file)) {
    fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );
  }
}

if ($file) {
  fclose($file);
}

if ($newf) {
  fclose($newf);
}
?>
</html>

Скопируйте приведенный выше скрипт -> Откройте текстовый редактор -> Вставьте -> Сохраните что-нибудь **. Php ** Загрузите его и просмотрите с помощью браузера в http .

Приведенный выше скрипт загружает файл и сохраняет в том же каталоге, где он находится. Если вы хотите сохранить в каком-то другом каталоге, вам нужно изменить какой-то кусок.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .