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

原创 2006年05月24日 18:54:00

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

?>

中文FTP环境下,使用commons-net,FTPClient.listFiles()方法返回null的问题及解决办法

分享到: 评论(0)|2014-09-21|发布 pfan 项目中需要从FTP上下载数据,采用了开源的commons-net包。在实际应用中发现了一个问题,有些服务器上调用...

axis1.4 返回数组,出现异常- Java / Java EE 最终解决办法

406 DEBUG [main] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::ha...
  • livalue
  • livalue
  • 2011年06月27日 08:35
  • 1133

C#控制台基础 file.readalllines一行一行的读取一个txt文本,把txt中的内容放到一个string数组里

慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 using System; using System.Collect...

FTP创建办法

  • 2013年04月07日 14:27
  • 442KB
  • 下载

php去除多维数组里的相关元素__array_filter不太好使_自己的解决办法

function myfunction($v)  { if(strpos($v['url'],$mosConfig_live_site) !== false)  { return false;...
  • iastro
  • iastro
  • 2014年08月20日 16:00
  • 803
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎么把ftp_rawlist里的返回的文本定义成数组呢,我有办法
举报原因:
原因补充:

(最多只允许输入30个字)