Bug #8874 Updated: ftp_nlist and rawlist not working
| From: | sniper@php.net | Date: | Wed, 15 Aug 2001 06:07:31 +0000 |
| Subject: | Bug #8874 Updated: ftp_nlist and rawlist not working | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-63225@lists.php.net to get a copy of this message | ||
ID: 8874
Updated by: sniper
Reported By: steve@szabos.com
Old Status: Open
Status: Feedback
Bug Type: FTP related
Operating System: Windows 2000 Advanced Server
PHP Version: 4.0.4
New Comment:
This bug report was for PHP 4.0.4. There have been a few
changes since that in PHP 4.0.6. Have you tried with it?
And also, these functions do work on most ftp servers. What was the version of the ftp server on
which this didn't work?
--Jani
Previous Comments:
------------------------------------------------------------------------
[2001-08-14 21:07:00] steve@szabos.com
$aFiles = Array( "Oct100.log.gz", "Nov100.log.gz");
// $aFiles = ftp_rawlist (nFTP, "/mnt/web/guide/accumeddata/logs/*.gz");
$aFiles = ftp_nlist ( $nFTP, "*.gz");
echo "count(aFiles)=" . count ($aFiles ) . "<BR>";
------------------------------------------------------------------------
[2001-08-14 20:10:30] jmoore@php.net
can you provide a smaller script that produces the bug please. preferably less than ten lines of
code which requires nothing other than the bare min.. IE no extenal files etc.
------------------------------------------------------------------------
[2001-07-22 00:23:57] steve@szabos.com
Thanks for responding. I no longer have access to the FreeBSD FTP server that I was connecting to,
so it is no longer an issue (for me). My script is attached below. If you do see an issue with
the code, I am still interested in your response.
<?
$bDebug = 1;
$aDomain = array (
"xyz.com", "z"
);
if ($bDebug)
echo "Number in array =" . count ($aDomain) . "<BR>";
for ( $i=0; $i < count ($aDomain) ; )
{
if ( $bDebug )
echo "Openning \"" . $aDomain[$i] . "\"...<BR>";
$nFTP = ftp_connect ( $aDomain[$i] );
if ( $nFTP == 0 )
{
echo "Failed to open $aDomain[$i]. Aborting...<BR>";
exit();
}
$nResult = ftp_login ( $nFTP, $aDomain[$i+1], "password" );
if ( $nResult == 0 )
{
echo "Failed to login to $aDomain[$i]. Aborting...<BR>";
exit();
}
else
echo "Login to $aDomain[$i] succeeded.<BR>";
if ( $bDebug)
echo "<BR>ftp_pwd=" . ftp_pwd ( $nFTP ) . "<BR>".
$nResult = ftp_chdir ( $nFTP, "logs");
if ( $nResult == 0)
{
echo "ftp_chdir failed. Aborting...<BR>";
exit();
}
if ( $bDebug)
echo "<BR>ftp_pwd=" . ftp_pwd ( $nFTP ) . "<BR>".
$aFiles = Array( "Oct100.log.gz",
"Nov100.log.gz",
"Dec100.log.gz",
"mtd.log");
// $aFiles = ftp_rawlist ( $nFTP, "/mnt/web/guide/accumeddata/logs/*.gz");
// echo "rawlist = " . count ( $aFileList ) . "<BR>";
// $aFiles = ftp_nlist ( $nFTP, "*.gz");
if ( $bDebug )
{
echo "count(aFiles)=" . count ($aFiles ) . "<BR>";
for ( $j=0; $j <= count($aFiles); $j++ )
echo "$j=\"$aFiles[$j]\"<BR>";
}
// Get all the Monthly archives (*.GZ)
for ( $j=0; $j < count($aFiles); $j++ )
{
$sLocalFile = $aDomain[$i] . "-" . $aFiles[$j];
$sLocalFile = str_replace ( "/", "-", $sLocalFile );
$sRemoteFile = $aFiles[$j];
if ( $bDebug)
{
echo "sLocalFile=\"$sLocalFile\"<BR>";
echo "sRemoteFile=\"$sRemoteFile\"<BR>";
}
$nResult = ftp_get ( $nFTP, $sLocalFile, $sRemoteFile, FTP_BINARY );
if ( $nResult == 0)
{
echo "ftp_get failed. Aborting...";
exit();
}
}
// Get the current month also.
$nResult = ftp_get ( $nFTP, $sLocalFile, "mtd.log", FTP_BINARY );
if ( $nResult == 0)
{
echo "ftp_get of mtd.log failed. Aborting...";
exit();
}
$nResult = ftp_quit ( $nFTP );
if ( $nResult == 0 )
{
echo "ftp_quit failed. Aborting...";
exit();
}
$i = $i + 2;
}
?>
------------------------------------------------------------------------
[2001-07-21 21:27:45] andy@php.net
Please submit a short script for me the analyze. This will
also clarify your bug a little bit.
------------------------------------------------------------------------
[2001-01-23 22:23:49] steve@szabos.com
The ftp_nlist and ftp_rawlist functions failed to work for me. I am using PHP.EXE v4.0.4 from a
Windows 2000 machine connecting to a Free BSD box running the following FTP server:
Our.ftp.server FTP server (Version wu-2.6.1(1) Mon Jul 3 03:07:01 EDT 2000)
Both ftp_nlist and ftp_rawlist return a single blank string ("") into the result array.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=8874&edit=1