Page 1 of 1

ftp_rawlist returns incomplete/wrong information

Posted: Tue Jan 16, 2007 2:40 pm
by kirchner
I am attempting to retrieve and email files from an FTP server using ftp_rawlist. The returned array does not match the result of simply listing the directory contents in an FTP session. Here is the output from the Cygwin FTP client (please note the "Transfer" and date columns):

Code: Select all

ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
drwx------   1 mgt03    0           4096 Jan 16 07:22 .
drwx------   1 mgt03    0           4096 Jan 16 15:16 ..
-rw-------   1 mgt03    Transfer     651 Jan 15 22:45 PTDUP015.A
-rw-------   1 mgt03    Transfer  892308 Jan 13 17:15 SUBL013.A
-rw-------   1 mgt03    0           8275 Sep 19 2006  core
-rw-------   1 mgt03    Transfer 3837928 Jan 14 04:45 MEMB014.A
-rw-------   1 mgt03    Transfer    6145 Jan 12 21:45 DailyStatus012.B
-rw-------   1 mgt03    Transfer  723518 Jan 15 19:30 CERTS015.A
-rw-------   1 mgt03    Transfer    1772 Jan 12 23:45 PTDUP012.A
-rw-------   1 mgt03    Transfer  237247 Jan 13 17:15 INV1013.A
-rw-------   1 mgt03    Transfer  722615 Jan 12 19:30 CERTS012.A
-rw-------   1 mgt03    Transfer    7892 Jan 14 04:45 MD65014.A
-rw-------   1 mgt03    Transfer    6063 Jan 15 20:30 DailyStatus015.A
-rw-------   1 mgt03    Transfer  112292 Jan 13 00:45 PTDWK013.A
-rw-------   1 mgt03    0        1321845 Jan 16 07:22 Records_for_MA_03.xls
----------   1 mgt03    0              0 Jun 28 1995  bcast
-rw-------   1 mgt03    0            871 Jan 16 15:16 read.me
-rw-------   1 mgt03    0            122 Jan 16 15:11 lasttran
-rw-------   1 mgt03    0        11662931 Oct 31 2006  user.0610
-rw-------   1 mgt03    0        2041654 Dec 31 2006  user.0612
-rw-------   1 mgt03    0        2504952 Nov 30 2006  user.0611
-rw-------   1 mgt03    0          27119 Sep 30 1999  user.9909
-rw-------   1 mgt03    0        1593765 Jan 16 15:15 user.0701
dr--------   1 mgt03    0            512 Dec 31 1969  software
226 Transfer complete.
ftp>
And here is the output of ftp_rawlist (using print_r):

Code: Select all

Array
(
    [0] => drwx------   1 mgt03    0           1536 Jan 16 15:16 .
    [1] => drwx------   1 mgt03    0           1536 Jan 16 15:16 ..
    [2] => ----------   1 mgt03    0              0 Dec 31 1969  PTDUP015.A
    [3] => ----------   1 mgt03    0              0 Dec 31 1969  SUBL013.A
    [4] => ----------   1 mgt03    0              0 Dec 31 1969  core
    [5] => ----------   1 mgt03    0              0 Dec 31 1969  MEMB014.A
    [6] => ----------   1 mgt03    0              0 Dec 31 1969  DailyStatus012.B
    [7] => ----------   1 mgt03    0              0 Dec 31 1969  CERTS015.A
    [8] => ----------   1 mgt03    0              0 Dec 31 1969  PTDUP012.A
    [9] => ----------   1 mgt03    0              0 Dec 31 1969  INV1013.A
    [10] => ----------   1 mgt03    0              0 Dec 31 1969  CERTS012.A
    [11] => ----------   1 mgt03    0              0 Dec 31 1969  MD65014.A
    [12] => ----------   1 mgt03    0              0 Dec 31 1969  DailyStatus015.A
    [13] => ----------   1 mgt03    0              0 Dec 31 1969  PTDWK013.A
    [14] => ----------   1 mgt03    0              0 Dec 31 1969  Records_for_MA_03.xls
    [15] => -rw-------   1 mgt03    0           7110 Jan 16 15:16 bcast
    [16] => -rw-------   1 mgt03    0            871 Jan 16 15:16 read.me
    [17] => -rw-------   1 mgt03    0            122 Jan 16 15:11 lasttran
    [18] => -rw-------   1 mgt03    0        11662931 Oct 31 2006  user.0610
    [19] => -rw-------   1 mgt03    0        2041654 Dec 31 2006  user.0612
    [20] => -rw-------   1 mgt03    0        2504952 Nov 30 2006  user.0611
    [21] => -rw-------   1 mgt03    0          27119 Sep 30 1999  user.9909
    [22] => -rw-------   1 mgt03    0        1593820 Jan 16 15:16 user.0701
    [23] => dr--------   1 mgt03    0            512 Dec 31 1969  software
)
There are several discrepancies between the CLI client output and the PHP output. Most of the dates from PHP have been converted to "Dec 31 1969", all the fields in the "Transfer" column (which tells whether a file has been downloaded) are set to zero, and many file sizes and permissions are missing. I have no idea how or why this is happening. Any thoughts?

To generate the above, I am using PHP 5.0.4 (cli) on a Windows XP box and FTP (GNU inetutils) 1.3.2 provided by Cygwin. The remote server is of an UNKNOWN type and runs FTP Version 1.0.0.4.