スレッド表示 | フラット表示〕 全トピック 920 件中 243 番目 次≫ ≪前

FTPで別サーバのディレクトリ一覧を取得

created: 2006-05-17 17:06 | modified: 2006-05-21 00:29 | reply: 5

[3075] FTPで別サーバのディレクトリ一覧を取得

user: ぽち | created: 2006-05-17 17:06
はじめまして。最近PHPの勉強を始め、
こちらにも大変お世話になっております。

今回FTPで別サーバにあるディレクトリ名の一覧を取得したいと思っているのですが、
どうすれば良いのか悩んでいます。

ファイル名は以下、
// 接続を確立する
$conn_id = ftp_connect($ftp_server);

// ユーザ名とパスワードでログインする
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// カレントディレクトリの内容を得る
$contents = ftp_nlist($conn_id, ".");

// 取得したファイル数
$max = count($contents);

for($i=0; $i<$max; $i++)
{
echo $contents[$i]
}
で取得できたのですが、この方法ではディレクトリ名は取得できませんでした。
ftp_rawlist()ならディレクトリも含んでいるので可能かと思ったのですが、
パーミッションなど余計なものがついてきてしまいました。
ftp_rawlistからディレクトリ名だけを取得するようなことはできないのでしょうか?
それともこのやり方自体間違っているのでしょうか・・?

何かアドバイスをいただければと思います。
よろしくお願いします。
reply: 3076 返信 編集 削除

[3076] Re. FTPで別サーバのディレクトリ一覧を取得

user: ゆうじ | created: 2006-05-18 22:00
こんばんわ。

試したところ、ほぼサンプルコードのままで
ftp_nlist() でディレクトリも獲得できました。

コード以外に原因があるのでしょう。
Parent: 3075  reply: 3077 返信 編集 削除

[3077] Re. FTPで別サーバのディレクトリ一覧を取得

user: ach | created: 2006-05-18 22:30
http://phpdig.net/ref/rn23re361.html
(多分PHP自体の説明だと思いますが違うかもしれません。確認は各自でしてください。)

ここの説明によるとftp_nlistはNLSTコマンドをサーバーに送っているとあります。
NLSTコマンドはサーバーによってはサポートしていない場合があります。
wu-ftpdやfilezilla等がそうです。

ftp_rawlistを解析するルーチンを作るのは難しくはないですので、汎用性の面からもこちらでやることをお進めします。
(XRAEでは逆にLISTを受け付けないそうです...orz)
Parent: 3076  reply: 3078 返信 編集 削除

[3078] お返事ありがとうございます

user: ぽち | created: 2006-05-19 10:11
XREAとYahooGeocitiesを使っているのですが、
それが原因だったのですかね。
動作テストのためにXREAを使わせていただいており、
最終的にはXREAを使わない予定ではあるのですが、

> ftp_rawlistを解析するルーチンを作るのは難しくはないですので、汎用性の面からもこちらでやることをお進めします。

この解析というのは興味深いですね。
解析するルーチンというのがさっぱりなのですが、
どういうことをすれば解析できるのでしょうか?

後学のためにも簡単なコードか、考え方でも良いので教えていただけませんでしょうか。
どうぞよろしくお願いします。
Parent: 3077  reply: 3079 返信 編集 削除

[3079] Re.お返事ありがとうございます

user: ach | created: 2006-05-20 13:01
> 後学のためにも簡単なコードか、考え方でも良いので教えていただけませんでしょうか。

最初の文字が"d"ならディレクトリ,"-"ならファイル,"l"はリンク.
これを使えばリストのうちどの行がディレクトリを指しているかすぐに分かります.
あとは,一番後ろにあるディレクトリ名を取り出せばおわり.
がんばってください.
Parent: 3078  reply: 3080 返信 編集 削除

[3080] ぽち

user: ありがとうございます | created: 2006-05-21 00:29
ディレクトリ名だけを取り出す方法があるということですね!
ファイルとディレクトリを分けるヒントにもなりそうですね。
あとは自分で考えてみたいと思います。

どうもありがとうございました!^^
Parent: 3079  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 243 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑