关闭

怎么把ftp_rawlist里的返回的文本定义成数组呢,我有办法

标签: listphpdatestreamfilefunction
1284人阅读 评论(0) 收藏 举报
分类:

ftp_rawlist

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

ftp_rawlist -- 返回指定目录下文件的详细列表

说明

array ftp_rawlist ( resource ftp_stream, string directory )

ftp_rawlist() 函数将执行 FTP LIST 命令,并把结果返回为一个数组。数组的每个元素为返回文本的每一行,输出结构不会被解析。使用函数 ftp_systype() 可以用来判断 FTP 服务器的类型,从而可以用来判断返回列表的类型。

<?php

function itemize_dir($contents
) {
   foreach (
$contents as $file
) {
       if(
ereg("([-dl][rwxstST-]+).* ([0-9]*) ([a-zA-Z0-9]+).* ([a-zA-Z0-9]+).* ([0-9]*) ([a-zA-Z]+[0-9: ]*[0-9])[ ]+(([0-9]{2}:[0-9]{2})|[0-9]{4}) (.+)", $file, $regs
)) {
          
$type = (int) strpos("-dl", $regs[1]{0
});
          
$tmp_array['line'] = $regs[0
];
          
$tmp_array['type'] = $type
;
          
$tmp_array['rights'] = $regs[1
];
          
$tmp_array['number'] = $regs[2
];
          
$tmp_array['user'] = $regs[3
];
          
$tmp_array['group'] = $regs[4
];
          
$tmp_array['size'] = $regs[5
];
          
$tmp_array['date'] = date("m-d",strtotime($regs[6
]));
          
$tmp_array['time'] = $regs[7
];
          
$tmp_array['name'] = $regs[9
];
       }
      
$dir_list[] = $tmp_array
;
   }
   return
$dir_list
;
}
$buff = ftp_rawlist($cid, "/"
);
$items = itemize_dir($buff
);

?>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:167303次
    • 积分:2454
    • 等级:
    • 排名:第15040名
    • 原创:69篇
    • 转载:30篇
    • 译文:1篇
    • 评论:29条
    最新评论