2009-08-24 18 views
1

adminが特定のフォルダ(定義済み)からファイルを見ることができるアプリケーションを作成しようとしていて、それを1つずつダウンロードできるはずです。ファイルはサーバーに保存されます。誰かが私にこれをする方法を導くことができますか?ftpからphpを使用してファイルをダウンロード

答えて

-1

file_get_contentsの機能を確認してください。それはあなたが必要とするものです。例えば

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

は次に、あなただけのfile_put_contentsfwrite(お好みのように)で、ファイルシステムにコンテンツを記述する必要があります。

+0

file_get_contentsを使用してディレクトリのファイルリストを取得できないため、機能しません。 –

+0

はい、私はget file_get_contentsが動作しないと思います。私はファイルのリストを表示したいと思って、それらを管理者がダウンロードできるようにしたい。 –

1

リモートFTPサーバーにファイルのリストを取得しようとしていますか?もしそうなら、ftp extensionか、PEARのNet-FTP2拡張を使用する必要があります(残念ながら放棄されましたが、そこからいくつかのコードを救済することができます)

リモートユーザへのFTPサーバ、Iは、などのContent-Type、コンテンツ長、のように、ReadFile関数のマニュアルページがいくつかを持って、あなたはまた、適切なヘッダを追加する必要があることを、覚えておいてくださいreadfile function

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

を示唆しています例。

+0

私の状況を説明したいと思います。サーバーにXXXXというフォルダがあります。ユーザが一連の質問を完了すると、XXXXフォルダが更新されます(ファイルは自動的に追加されます)。今、私は、管理者がファイルの名前を見ることができるアプリケーションを設計したいと思います。ボタンをクリックするだけで、それらをダウンロードすることができます。私をガイドして、それは素晴らしい。 –

+0

フォルダはサーバー上にあります。 –

+0

それを実装して、問題が発生したかどうか尋ねてください。 ここにFTPがまったく含まれていますか? –

0

私はそれが古い問題だと知っていますが、私は同様のソリューションを探していました。 私はそれが誰かを助けることを願っています!

<?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; 

}