コードをコピーします コードは次のとおりです:
/*
ftp_nlist()対応を使用する場合、返される配列値はサーバーによって異なる2種類になります
a:個別のファイル名
b:インクルードされたディレクトリのファイル名。
悪用された場合は変更するようご注意ください。
*/
function download_file($dir,$fc,$_FILE_)
{
$fn=ftp_nlist($fc,".");// ディレクトリ (サブディレクトリを含む) のファイル名をリストします。 、配列
$size=sizeof($fn);
$dir=($dir=="")?$dir:('/'.$dir); に格納されます。
echo $_FILE_."
";
for($i=0;$i<$size;$i++)
{
if(ereg('^[a-zA-Z0-9_] + ',$fn[$i])) //ファイルとディレクトリを抽出し、これら 2 つのディレクトリを除外します
{
if(ereg('^[a-zA-Z0-9_]+([a -zA-Z0-9- ]*.*)(.+)',$fn[$i])) //ファイルの場合は直接ダウンロード
{
if(ftp_get($fc,$fn[$i], $fn[ $i],FTP_BINARY))
{
echo "
Download".getcwd()."/".$fn[$i]."Success
}
else
; {
echo "
Download".getcwd()."/".$fn[$i]."Failed
"
}
}// ファイルのダウンロード終了
else // "これはディレクトリです。ディレクトリを入力してからファイルを読み取ります";
{
if(!file_exists($fn[$i]))
mkdir($fn[$i], 0700);//ローカル Ifディレクトリがマシン上に存在しない場合は、ディレクトリを作成します
if(ftp_chdir($fc,$fn[$i]))
chdir($fn[$i])
echo "現在のディレクトリは次のとおりです:".getcwd( ). "
";//現在のディレクトリが見やすくなります
download_file($fn[$i],$fc,$_FILE_);//ファイルをダウンロードするディレクトリを再帰的に入力します
}
} //ファイル抽出、ディレクトリ終了
}//ループ終了
ftp_cdup($fc);//FTPサーバーは上のディレクトリに戻ります
chdir(dirname($_FILE_))
}//download——file(); function ends
$_FILE_ ="ローカル マシンの絶対アドレス";//たとえば、c:/download/ ではなく、c:/download
$hostname="サーバー名";
$loginname="ユーザー名"; ="ユーザーパスワード";
$fc=ftp_connect($hostname,"21") または die("$hostname に接続できませんでした")
$fc_rw=ftp_login($fc,$loginname,$password); ftp_set_option($fc,FTP_TIMEOUT_SEC ,100000);//タイムアウトを設定します
$dir="";chdir($_FILE_);//ローカルマシンの絶対アドレスディレクトリを入力します
download_file($dir,$fc,$_FILE_);
ftp_quit($fc);
//サーバーからファイルツリーをダウンロードするプログラム
皆さんのお役に立てれば幸いです、ありがとう
http://www.bkjia.com/PHPjc/319789.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/319789.html技術記事次のコードをコピーします。 /* ftp_nlist() を通信に使用する場合、返される配列値には 2 つのタイプがあります。サーバーによって異なります。 a: 個別のファイル名 b: ディレクトリを含むファイル名。 動いたら…