As I promised in the section that you just read, I listed the complete definitions corresponding to the two source files that comprise this basic file uploading PHP 5 application. Here they are: (definition of 'upload_form.htm' file) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Uploading files with PHP</title> <style type="text/css"> body{ padding: 0; margin: 0; background: #fff; } h1{ font: bold 16pt Arial, Helvetica, sans-serif; color: #000; text-align: center; } p{ font: normal 10pt Arial, Helvetica, sans-serif; color: #000; } form{ display: inline; } #formcontainer{ width: 50%; padding: 10px; margin-left: auto; margin-right: auto; background: #eee; border: 1px solid #666; } </style> </head> <body> <h1>Uploading files with PHP</h1> <div id="formcontainer"> <form enctype="multipart/form-data" action="upload_file.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000" /> <p>File to upload <input name="userfile" type="file" /> <input type="submit" name="send" value="Upload File" /></p> </form> </div> </body> </html> (definition of 'upload_file.php' file) try{ if($_POST['send']){ // set upload directory (for Windows users) $uploadDir='C:uploaded_files'; // set destination of uploaded file $uploadFile=$uploadDir.basename($_FILES['userfile']['name']); if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadFile)){ echo 'The target file was successfully uploaded!<br />Name of uploaded file: '.$_FILES } else{ // display error messages when file upload fails switch ($_FILES['userfile']['error']){ case 1: throw new Exception('Target file exceeds maximum allowed size.'); break; case 2: throw new Exception('Target file exceeds the MAX_FILE_SIZE value specified on the upload form.'); break; case 3: throw new Exception('Target file was not uploaded completely.'); break; case 4: throw new Exception('No target file was uploaded.'); break; case 6: throw new Exception('Missing a temporary folder.'); break; case 7: throw new Exception('Failed to write target file to disk.'); break; case 8: throw new Exception('File upload stopped by extension.'); break; } } } } catch(Exception $e){ echo $e->getMessage(); exit(); } That's all for now. With the two above source files at your disposal, you have the proper material to build your own file uploading application in PHP 5. Of course, there's plenty of room to improve the business logic of this still immature file uploader, but this can be a neat challenge for your programming skills. Final thoughts In this third part of the series, I showed you how to improve the file uploading application built during the two preceding articles by incorporating an effective error handling module into it. It can be easily customized to suit your personal needs. Yet the application in its current incarnation still looks pretty basic. But there's no reason to feel down. In the upcoming tutorial, I'll be demonstrating how the complete source code of this file uploader can be encapsulated within a user-defined PHP function. This way it becomes reusable over time. Don't miss the next article!
blog comments powered by Disqus |
|
|
|
|
|
|
|