Asynchronous file uploads are frequently encountered and must be addressed in modern AJAX-enabled Web applications. But the standard Ajax class (XMLHttpRequest) does not implement the ability to transfer files. So what we're talking about here is how to build asynchronous file uploads on the basis of Ajax technology. In this function, you need to use the built-in boxes and (IFRAME) to transfer files. The effect of this function is that when the page uploads the file, the user can also use the page and fill in the file description.
This example is an analysis of the classic examples of Ajax that we cite.
System environment
· Newer version of the browser. such as Opera,firefox or Internet Explorer.
· PHP 4.3.0 or later
· PHP 5 version
· The ' short_open_tag ' option in PHP is turned on (otherwise a parse error will occur).
Functional analysis
Files are uploaded through the built-in iframe (frame). Consists of three parts.
· In the middle of the page there is a simple
control. This form's target link is a hidden iframe (through the CSS style "display:none;" Implementation) and the onchange event for the only control within the form to trigger the JavaScript function. The function is to check the extension that the user submits, and then submit the form.
· A processing process was written on the server side using PHP (Fileframe sat annotated). This process is used to check the files uploaded from the client and save them on the server and return them to the user in the form of JavaScript code. The JavaScript script returned to the user changes the page that the user is currently viewing through "parent.window.document", sets the name of the file, and enables the button for the user to submit the form. The action to enable the button is implemented through the getElementById function.
· There is also a form on the main page that contains the user-submitted description and the hidden file name. The user can fill in the description of the file while uploading the file. When the file is uploaded, the user clicks on the button and can see the file information returned to the user after uploading. (form file information by returning a filename and a description of the user input).
You might say it's not common sense to do this: The file has been submitted before the user confirms it. What would happen if the user did not submit it? You can handle files that are discarded by the user at the extension.
This example stores the file in a directory on a file system. You need to configure this directory when the script starts to run, and the specific variables that contain this directory information are $upload_dir and $web_upload_dir. Here is a permission check for whether the directory is writable.
Here we use the following PHP functions:
· Move_uploaded_file-Transfer once uploaded to server file
· fopen-Open File
· Fwrite-writing content to a file
· Fclose-Close File
· Str_replace-Replacement string
· FileSize-Returns the file size
· Filemtime-Return processing time
You can find these functions in the manual if used. Note that you want to replace the HTM (&) tags with (<, > and &).