Stream Me Up, Scotty! (part 1) - Where Am I?
(Page 4 of 9 )
Once logged in to an FTP server, PHP offers a number of functions that can provide system-specific information, together with file and directory information.
First, the ftp_pwd() function comes in very useful if you need to find out where you're currently located in the directory tree.
<?
// get current location
$here = ftp_pwd($conn);
?>
In case you need to know the operating system that the FTP
server is currently running, ftp_systype() will be able to give you this information.
<?
// get system type
$server_os = ftp_systype($conn);
?>
In case you need to switch passive (PASV) mode on or off, PHP
has the ftp_pasv() function, which acts as a toggle switch, turning PASV mode on and off. In case you don't know what passive mode...don't worry about it!
<?
// turn PASV on
ftp_pasv($conn, 1);
?>
How about a file listing? Well, PHP offers two types of
listings - a compact listing containing only file and directory names, and a long listing containing detailed information on file sizes, permissions and timestamps.
The first listing is provided by the ftp_nlist() function, while the second comes via ftp_rawlist(). Both functions require a directory name to be passed as a parameter, and both return the listing as an array. Each element of this array corresponds to one line of text from the listing.
<?
// obtain file listing
$filelist = ftp_nlist($conn, ".");
?>
And in case you're curious about file sizes, there's a very
handy ftp_size() function which returns the size of the specified file in bytes. An important point to be noted here is that this function returns a value of -1 on error - a fact which comes in handy if you're trying to distinguish between files and directories, since this function, when invoked on a directory, typically returns a value of -1. You'll see this technique being used extensively in the example coming up later.
<?
// obtain file size of file "data.zip"
$filelist = ftp_size($conn, "data.zip");
?>
This article copyright Melonfire 2000. All rights reserved.Next: GETting It Right >>
More PHP Articles
More By Vikram Vaswani, (c) Melonfire