note 55936 added to function.ftp-rawlist

From: Date: Thu, 18 Aug 2005 10:31:04 +0000
Subject: note 55936 added to function.ftp-rawlist
Groups: php.notes 
Request: Send a blank email to php-notes+get-93830@lists.php.net to get a copy of this message
Previous example (by davidknoll at o2 dot co dot uk) works well if ftp_systype() returned "UNIX", but sometimes I am experiencing "Windows_NT". Here is some improvement: <?php function parsed_listing($path) { $conn = ftp_connect(FTP_HOST); ftp_login($conn, FTP_USER, FTP_PASS); $systype = ftp_systype($conn_id); $list = ftp_rawlist($conn, "-a ".FTP_BASE.$path); ftp_close($conn); $i = 0; foreach ($list as $current) { switch ($systype) { case "Windows_NT": ereg("([0-9]{2})-([0-9]{2})-([0-9]{2}) +([0-9]{2}):([0-9]{2})(AM|PM) +([0-9]+|<DIR>) +(.+)",$current,$split); if (is_array($split)) { if ($split[3]<70) { $split[3]+=2000; } else { $split[3]+=1900; } // 4digit year fix $parsed[$i]['isdir'] = ($split[7]=="<DIR>"); $parsed[$i]['size'] = $split[7]; $parsed[$i]['month'] = $split[1]; $parsed[$i]['day'] = $split[2]; $parsed[$i]['time/year'] = $split[3]; $parsed[$i]['name'] = $split[8]; $i++; } break; case "UNIX": default: // etc. break; } } return $parsed; } ?> ---- Manual Page -- http://www.php.net/manual/en/function.ftp-rawlist.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+55936 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+55936&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+55936&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+55936&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+55936&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+55936&report=yes&reason=non-english Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+55936&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+55936&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#93830) next »