скачать файл с ftp используя php - PullRequest
1 голос
/ 24 августа 2009

Я пытаюсь создать приложение, в котором администратор сможет видеть файлы из определенной папки (предварительно определенной) и должен иметь возможность загружать их один за другим Файлы будут храниться на сервере. Кто-нибудь может подсказать мне, как это сделать?

Ответы [ 3 ]

1 голос
/ 24 августа 2009

Вы пытаетесь получить список файлов на удаленном FTP-сервере? Если это так, то вам нужно либо расширение ftp , либо использовать расширение Net-FTP2 из PEAR (оно, к сожалению, было заброшено, но вы, возможно, сможете извлечь некоторый код оттуда)

Что касается передачи определенного файла, который приходит с FTP-сервера удаленному пользователю, я бы предложил функцию readfile

readfile('ftp://server/file.txt');

Имейте в виду, что вам также необходимо добавить правильные заголовки, такие как Content-Type, Content-Length и т. Д., На странице справки readfile есть несколько примеров.

0 голосов
/ 27 февраля 2017

Я знаю, что это старый вопрос, но я искал подобное решение, и я думаю, что здесь будет полезно ответить, что оно работает. Надеюсь, это кому-нибудь поможет !!

    <?php

//ftp-server
$connection_id = ftp_connect("here put the link of FTP server");
$ftp_username = "here the username";
$ftp_password = "here the password";

$file_path_my_pc = "here the path that you want to save your file..";
$file_path_ftp_server = "here the path of the file in FTP server/the name of file.csv";




$login = ftp_login($connection_id, $ftp_username, $ftp_password);

if (!$login) {
    echo "Connection to ftp server has failed!! ";
    exit;
} else {
    echo "Connected has be done!!";
}

ftp_pasv($connection_id, true);

if (ftp_get($connection_id, $file_path_my_pc.'/here the name of your file in the FTP server', $file_path_ftp_server, FTP_ASCII)) {

    echo "File has been downloaded!!";
    ftp_close($connection_id);
    return true;

} else {
    ftp_close($connection_id);
    echo "fail ... ";
    echo "Connected has be stopped!!";
    return false;

}
0 голосов
/ 24 августа 2009

Проверьте функцию file_get_contents . Он делает то, что вам нужно.

Например:

<?php $file_content = file_get_contents ('ftp://mysite.com/file.txt'); ?>

Тогда вам просто нужно записать содержимое в файловую систему с помощью file_put_contents или fwrite (как вам удобнее).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...