Handling Form-based
File Upload with PHP
In
this section, we will introduce to you how to handle form-based file
uploads with a PHP script. The techniques are the same for HTML and
XHTML. At the time of writing, the latest version of PHP is 5.2.0.
So, we assume you are using PHP 5.2.0 in this tutorial. For other
versions of PHP, the procedures should be similar. If you are not
familiar with PHP, you may want to read some introductory tutorials
before going through this section.
Parsing Form Data
and Getting Information about the Uploaded File with PHP
To
extract an uploaded file from an HTTP request, we need to parse the
form data that is encoded in the "multipart/form-data"
format. In PHP, the form data in an HTTP request is automatically
parsed. The PHP engine stores the information of the uploaded files
in the $_FILES array.
Now
let's say the name attribute
value of the <input type="file"> element in a certain
HTML/XHTML/XHTML MP document is myFile.
To obtain the information about the uploaded file, use the
following lines of PHP script:
/*
Get the size of the uploaded file in bytes. */ $fileSize =
$_FILES['myFile']['size'];
/* Get the name (including path
information) of the temporary file created by PHP that contains the
same contents as the uploaded file. */ $tmpFile =
$_FILES['myFile']['tmp_name'];
/* Get the name of the uploaded
file at the client-side. Some browsers include the whole path here
(e.g. e:\files\myFile.txt), so you may need to extract the file name
from the path. This information is provided by the client browser,
which means you should be cautious since it may be a wrong value
provided by a malicious user. */ $fileName =
$_FILES['myFile']['name'];
/* Get the content type (MIME type)
of the uploaded file. This information is provided by the client
browser, which means you should be cautious since it may be a wrong
value provided by a malicious user. */ $contentType =
$_FILES['myFile']['type'];
Nokia
cell phones such as Nokia 6230 determine the content type (MIME type)
of the file to be uploaded by its file extension. The following table
lists some of the file extensions that are recognized by Nokia 6230:
|
File
extension
|
Content
type / MIME type
|
|
.jpg
|
image/jpeg
|
|
.gif
|
image/gif
|
|
.png
|
image/png
|
|
.wbmp
|
image/vnd.wap.wbmp
|
|
.txt
|
text/plain
|
If
the Nokia 6230 cell phone does not recognize a file extension, it
will specify "application/octet-stream" as the content type
/ MIME type of the file in the HTTP request.
|
Feedback Form (ExpandCollapse)
|
|