Easy and secure managment of files submitted via
HTML forms.
This package provides an advanced system for managing uploads of
files via HTML <input type="file" />
fields. Features include:
In the following examples it is assumed that you are using an
HTML form field <input type="file" name="f" />
in order to upload files.
HTTP_Upload provides extensive information
about uploaded files via the getProp() method:
If no value for name is provided, then this
method will return an array containing all available information
about the uploaded file. Otherwise the information identified by
the value of this parameter will be returned as a string.
Example 42-24. Extensive information via getProp() require_once "HTTP/Upload.php";
$upload = new HTTP_Upload("en");
$file = $upload->getFiles("f");
if ($file->isValid()) {
echo "<pre>";
print_r($file->getProp());
echo "</pre>";
printf("The uploaded file has the extension %s.", $file->getProp("ext"));
} |
|
Another handy feature of HTTP_Upload is
support for internationalized error messages. This means that if
an error (like an invalid file upload) is detected, the programmer
can choose in which the language the error messages should be returned
by HTTP_Upload.
The first parameter of the constructor method for
HTTP_Upload determines the language to be
used. This is illustrated in the following example:
Example 42-25. Example // German error messages
$language = "de";
require_once "HTTP/Upload.php";
$upload = new HTTP_Upload($language);
$file = $upload->getFiles("f");
if ($file->isValid()) {
$moved = $file->moveTo("uploads/");
if (!PEAR::isError($moved)) {
echo "File was moved to uploads/";
} else {
// This will print a german error message
echo "An error was detected: " . $moved->getMessage() . "<br />";
}
} |
|