Home > Article > Backend Development > PHP FTP learning (2)_PHP tutorial
By Vikram Vaswani
Melonfire
November 07, 2000
Logged in to the FTP server. PHP provides some functions that can obtain some information about the system, files and directories.
ftp_pwd()
If you want to know the directory you are currently in, you need to use this function.
-------------------------------------------------- ----------------------------------
// get current location
$here = ftp_pwd($conn);
?>
-------------------------- -------------------------------------------------- ----
What if you need to know what system the server is running?
ftp_systype() provides you with exactly this information.
-------------------------------------------------- ----------------------------------
// get system type
$server_os = ftp_systype($conn);
?>
-------------------------- -------------------------------------------------- ----
Regarding the switch of passive mode (PASV), PHP also provides such a function, which can turn PASV on or off (1 means on)
------------ -------------------------------------------------- ------------------
// turn PASV on
ftp_pasv($conn, 1);
?>
------------------------------------------------ ---------------------------------------------
Now, you already know that you Now that "where" and "who" are with you, let's start walking around in the directory - what implements this function is the ftp_chdir() function, which accepts a directory name as a parameter.
-------------------------------------------------- ----------------------------------
// change directory to "public_html"
ftp_chdir($conn, "public_html");
?>
--------------------- -------------------------------------------------- --------
If you want to return to the directory you were in (parent directory), ftp_cdup() can help you realize your wish. This function can return to the previous directory.
-------------------------------------------------- ----------------------------------
// go up one level in the directory tree
ftp_cdup($conn);
?>
------------------------ -------------------------------------------------- ------
You can also create or move a directory using the ftp_mkdir() and ftp_rmdir() functions; Note: If ftp_mkdir() is successfully created, it will return the name of the newly created directory.
-------------------------------------------------- ----------------------------------
// make the directory "test"
ftp_mkdir($conn, "test");
// remove the directory "test"
ftp_rmdir($conn, "test");
? >
------------------------------------------------ ----------------------------------
Creating an FTP directory is usually to transfer files--- So let’s get started!
First upload the file. The ftp_put() function is well suited for this task. It requires you to specify a local file name, the uploaded file name and the type of transfer. For example: If you want to upload the file "abc.txt" and name it "xyz.txt" after uploading, the command should be like this:
----------------- -------------------------------------------------- -------------
// upload
ftp_put($conn, "xyz.txt", "abc.txt", FTP_ASCII) ;
?>
---------------------------------------- ---------------------------------------------
Download file:
The function provided by PHP is ftp_get(), which also requires a file name on the server, the file name after downloading, and the transfer type as parameters. For example: the server-side file is his.zip, and you want to download it to the local machine. And named hers.zip, the command is as follows:
---------------------------------------- ---------------------------------------------
// download
ftp_get($conn, "hers.zip", "his.zip", FTP_BINARY);
?>
------ -------------------------------------------------- -----------------------
PHP defines two modes as transmission modes FTP_BINARY and FTP_ASCII. Please see the above two examples for the use of these two modes. , as for its detailed explanation, this article will not go into details. Please refer to relevant books for details.
How should I list the files? (Use DIR? :) )
PHP provides two methods: one is to simply list the file name and directory, and the other is to list the file size, permissions, creation time and other information in detail.
The first one uses the ftp_nlist() function, and the second one uses ftp_rawlist(). Both functions require a directory name as a parameter, and both return the directory column as an array. Each element of the array is equivalent to the list. One line.
-------------------------------------------------- ----------------------------------
// obtain file listing
$filelist = ftp_nlist($conn, ".");
?>
---------------------- -------------------------------------------------- --------
You must want to know the size of the file! Don't worry, here is a very easy function ftp_size(), which returns the size of the file you specify, using BITES as the unit. It should be noted that if it returns "-1", it means that this is a directory. In the following examples, you will see the application of this feature.
-------------------------------------------------- ----------------------------------
// obtain file size of file "data.zip"
$filelist = ftp_size($conn, "data.zip");
?>