[PHP-users 7163] Re: ftp_loginした後の動作
Osamu Shigematsu
php-users@php.gr.jp
Fri, 26 Apr 2002 16:48:24 +0900
重松です。こんにちは。
> ftp_login() 〜 ftp_close() の間に書いた処理が
> どうしても正常に動作しないのでご相談させてください。
自分自身に敬語使ってる気がするんですけど。。。
> //ファイルリスト取得
> $i=0;
> $handle = opendir("/tmp");
> while (false !== ($file = readdir($handle))) {
> if ($file != "." && $file != "..") {
> $file_list[$i] = $file;
> print $file_list[$i]."<BR>\n"; // ----A
> $i++;
> }
> }
> closedir($handle);
上記の結果、配列の中身、確認してますか? print_r() 使えば簡単。
あと、配列の中身の巡回なんかも、普通は foreach 使うと思いますよ。
とりあえず、私なりに書いてみました。(添削お願いに近い感じが。。。)
# 実際に /tmp 使ってる訳じゃないですよね?
$files = array();
if($handle = opendir('/tmp')){
while($file = readdir($handle)){
if(is_dir($file)) continue;
$files[] = $file;
}
closedir($handle);
}
print_r($files);
$conn = ftp_connect($server);
if($conn){
if(ftp_login($conn,$id,$pw)){
print "connected to $server as $id\n";
foreach($files as $file){
$result = ftp_put($conn,basename($file),$file);
print "file '$file' transfer was ' .
($result ? 'failed' : 'completed') . "\n";
}
ftp_close($conn);
}
print_r($files);
--
Osamu Shigematsu
mailto:shige@ravi.ne.jp