Home arrow PHP arrow Page 7 - Stream Me Up, Scotty! (part 1)

Lights! Camera! Action! - PHP

PHP4 comes with a bunch of new functions designed to allow FTPconnections over the Web. This article explores the new FTP functions,together with an example of how they can be used to build a browser-basedFTP client.

  1. Stream Me Up, Scotty! (part 1)
  2. Out With The Old...
  3. ...In With The New
  4. Where Am I?
  5. GETting It Right
  6. Start Me Up!
  7. Lights! Camera! Action!
  8. Well-Formed Ideas
  9. Appendix: Code Listing
By: Vikram Vaswani, (c) Melonfire
Rating: starstarstarstarstar / 4
November 07, 2000

print this article


The primary workhorse of the application is the file "actions.php4", which is reproduced below:

<html> <head> <basefont face=Arial> </head> <body> <!-- the include.php4 interface will be inserted into this page --> <? // check for valid form entries else print error if (!$server || !$username || !$password) { echo "Form data incomplete!"; } else { // keep reading } ?> </body> </html>
Right up front, "actions.php4" checks if the various form variables exist - if not, it simply prints an error message. If the variables exist, the script will proceed to the "else" clause of the conditional statement.

Next come the various "actions". This script has been built to allow the following types of actions:


change working directory


delete selected file(s)


download selected file(s)


upload selected file

If you take a look at the file "include.php4", which contains the HTML interface, you'll see that it consists of a number of forms, each one linked to a specific function. Each of these forms contains a field (usually hidden) which specifies the action to be taken when that specific form is submitted.

For example, the button marked "Delete", when clicked, sends the directive "action=Delete" to the PHP script "actions.php4", while the button "Go" sends the directive "action=CWD" to the script.

In order to handle these four actions, the meat of "actions.php4" is a set of branching conditional statements, like this:

<? // action: change directory if ($action == "CWD") { // script code } // action: delete file(s) else if ($action == "Delete") { // script code } // action: download files else if ($action == "Download") { // script code } // action: upload file else if ($action == "Upload") { // script code } ?>
Each of these branches includes code to connect to the FTP server, perform the selected action and exit.

Typically, this code follows a simple progression:

connect to the FTP server and log in through the user-defined function connect(); change to the appropriate directory; perform the selected action; refresh the list of available files to reflect changes; display the file list and control buttons through the include()d file "include.php4"; close the FTP connection.
These sections are commented liberally in the code listing which follows.

Some points to be noted here:

The actions that deal with multiple files - namely, "action=Delete" and "action=Download" - use "for" loops to iterate through the array of selected files and delete or download each of them.

The variables $cdir and $here are refreshed at each stage to indicate the current directory.

This article copyright Melonfire 2000. All rights reserved.

>>> More PHP Articles          >>> More By Vikram Vaswani, (c) Melonfire

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Hackers Compromise PHP Sites to Launch Attac...
- Red Hat, Zend Form OpenShift PaaS Alliance
- PHP IDE News
- BCD, Zend Extend PHP Partnership
- PHP FAQ Highlight
- PHP Creator Didn't Set Out to Create a Langu...
- PHP Trends Revealed in Zend Study
- PHP: Best Methods for Running Scheduled Jobs
- PHP Array Functions: array_change_key_case
- PHP array_combine Function
- PHP array_chunk Function
- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...

Developer Shed Affiliates


Dev Shed Tutorial Topics: