The simplest example is the following
The code is as follows |
Copy Code |
<form action= "" method= "Post" enctype= "Multipart/form-data" > <p>pictures: <input type= "File" Name= "pictures[]"/> <input type= "File" Name= "pictures[]"/> <input type= "File" Name= "pictures[]"/> <input type= "Submit" value= "Send"/> </p> </form> <?php foreach ($_files["Pictures"] ["error"] as $key => $error) { if ($error = = UPLOAD_ERR_OK) { $tmp _name = $_files["Pictures" ["Tmp_name"] [$key]; $name = $_files["Pictures" ["Name"] [$key]; Move_uploaded_file ($tmp _name, "data/$name"); } } ?> |
Let's share examples of other friends
Example 1
The code is as follows |
Copy Code |
? filename:multi_upload.php if ($ifupload) { $path =addslashes (dirname ($PATH _translated)). " \upload\ "; For ($i =1 $i <=8; $i + +) { $files = "Afile". $i; if (${$files}!= "None") { if (Copy (${$files}, $path. ${$files. " _name "})) { } } } Print "<b>you have uploaded files successfully</b><br>"; Print "<a href=" multi_upload.php ">Return</a>"; Exit } ?> <meta http-equiv= "Content-type" content= "text/html; charset=gb2312 "> <meta name= "generator" content= "Microsoft Visual Studio 6.0" > <title> multiple file uploads </title> <style type= "Text/css" > <!-- Body { padding-right:0px; margin-top:0px; padding-left:0px; font-size:8px; margin-left:0px; Cursor:default; Color:black; margin-right:0px; padding-top:0px; font-family:arial; Background-color:transparent; Text-align:center } . Txtinput { font-size:8pt; width:100%; Cursor:default; Color:black; font-family:arial; height:21px; Background-color:white; Text-align:left } . Fieldlabel { Font-weight:normal; font-size:9pt; width:100%; Color:black; font-family:arial; Background-color:transparent; Text-align:left } . Headbtn { Border-right:black 1px solid; Border-top:white 1px solid; font-size:8pt; Overflow:hidden; Border-left:white 1px solid; width:70px; Color:black; Border-bottom:black 1px solid; font-family:arial; height:21px; Background-color: #8e8dcd; Text-align:center } . Transex { Border-right:black 1px solid; padding-right:8px; Border-top:white 1px solid; padding-left:8px; font-size:8pt; padding-bottom:3px; Border-left:white 1px solid; width:720px; padding-top:3px; Border-bottom:black 1px solid; font-family:arial; Background-color: #c0c0c0; Text-align:center } --> </style> <script language= "JavaScript" > function Window.onload () { DOCUMENT.FORMS[0].BTNOK.ONCLICK=BTN_OK; } function Btn_ok () { for (Var i=1;i<=8;i++) { if (eval ("Document.forms[0].afile" +i+ ". value!=")) Document.forms[0].submit (); return true; } Alert ("None of the file have been selected"); return false; } </script> <body> <form method= "POST" action= "multi_upload.php" name= "Frmupload" enctype= "Multipart/form-data" > <table id= "Divcontainer" style= "height:100%; width:380 "border=" 0 "> <tr height= "><TD" align= "right" valign= "bottom" > Multi-File Upload </td></tr> <TR><TD align= "center" valign= "Top" > <table class= "Transex" border= "0" cellspacing= "0" cellpadding= "0" style= "width:360px" > <tr style= "height:10px" > <TD style= "width:5px" ></td> <TD colspan= "2" ></td> <TD style= "width:5px" ></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 1</label></td> <td><input type= "File" class= "Txtinput" tabindex= "1" name= "Afile1" style= "width:282px" ></td> <td></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 2</label></td> <td><input type= "File" class= "Txtinput" tabindex= "2" name= "Afile2" style= "width:282px" ></td> <td></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 3</label></td> <td><input type= "File" class= "Txtinput" tabindex= "3" name= "Afile3" style= "width:282px" ></td> <td></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 4</label></td> <td><input type= "File" class= "Txtinput" tabindex= "4" name= "Afile4" style= "width:282px" ></td> <td></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 5</label></td> <td><input type= "File" class= "Txtinput" tabindex= "5" name= "Afile5" style= "width:282px" ></td> <td></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 6</label></td> <td><input type= "File" class= "Txtinput" tabindex= "6" name= "Afile6" style= "width:282px" ></td> <td></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 7</label></td> <td><input type= "File" class= "Txtinput" tabindex= "7" name= "Afile7" style= "width:282px" ></td> <td></td> </tr> <tr> <td></td> <TD nowrap><label class= "Fieldlabel" > File 8</label></td> <td><input type= "File" class= "Txtinput" tabindex= "8" name= "Afile8" style= "width:282px" ></td> <td></td> </tr> <tr style= "height:5px" > <TD style= "width:5px" > <TD style= "width:350px" colspan= "2" ><TD style= "width:5px" ></td> </tr> <tr> <td></td> <TD colspan= "2" align= "left" > <button tabindex= "5" class= "HEADBTN" align= "center" name= "Btnok" id= "Btnok" accesskey= "O" > Ok (<ins>o</ ins>) </button> <input type= "hidden" name= "Ifupload" value=1> <button tabindex= "5" class= "HEADBTN" align= "center" name= "Btncancel" id= "Btncancel" accesskey= "C" onclick= " Window.close (); " > Cancellation (<ins>C</ins>) </button></td> <td></td> </tr> <tr style= "height:5px" > <TD style= "width:5px" > <TD style= "width:350px" colspan= "2" ></td> <TD style= "width:5px" ></td> </tr> </table> </td> </tr> </table> </form> </body> |
If we want the dynamic uncertainty of the multiple file upload how to achieve the following also has an example
File Upload Code
The code is as follows |
Copy Code |
View Plaincopy to Clipboardprint? <! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <meta http-equiv= "Content-type" content= "text/html; charset=gb2312 "/> <title> Document Upload </title> <body> <script language= "JavaScript" ><!-- Dynamically adding a file selection control--> function AddRow () { var enewrow = Tbldata.insertrow (); for (Var i=0;i<1;i++) { var Enewcell = Enewrow.insertcell (); enewcell.innerhtml = "<tr><td><input type= ' file ' name= ' filelist[] ' size= '/></td></tr > "; } } --></script> <form name= "MyForm" method= "post" action= "uploadfile.php" enctype= "Multipart/form-data" > <table id= "Tbldata" width= "border=" "0" > <!--will upload the file must use the Post method and enctype= "Multipart/form-data"--> <!--the Web page to uploadfile.php--> <input name= "Postadd" type= hidden "value=" <?php echo "http://" $_server["Http_host"].$_server["PHP_SELF"];? > "/> <tr><td> File Upload List <input type= "button" Name= "AddFile" onclick= "AddRow ()" value= "Add List"/></td></tr> <!--filelist[] must be an array--> <tr><td><input type= "File" name= "filelist[" "size="/></td></tr> </table> <input type= "Submit" Name= "Submitfile" value= "Submitting Documents"/> </form> </body> <! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <meta http-equiv= "Content-type" content= "text/html; charset=gb2312 "/> <title> Document Upload </title> <body> <script language= "JavaScript" ><!-- Dynamically adding a file selection control--> function AddRow () { var enewrow = Tbldata.insertrow (); for (Var i=0;i<1;i++) { var Enewcell = Enewrow.insertcell (); enewcell.innerhtml = "<tr><td><input type= ' file ' name= ' filelist[] ' size= '/></td></tr > "; } } --></script> <form name= "MyForm" method= "post" action= "uploadfile.php" enctype= "Multipart/form-data" > <table id= "Tbldata" width= "border=" "0" > <!--will upload the file must use the Post method and enctype= "Multipart/form-data"--> <!--the Web page to uploadfile.php--> <input name= "Postadd" type= hidden "value=" <?php echo "http://" $_server["Http_host"].$_server["PHP_SELF"];? > "/> <tr><td> File Upload List <input type= "button" Name= "AddFile" onclick= "AddRow ()" value= "Add List"/></td></tr> <!--filelist[] must be an array--> <tr><td><input type= "File" name= "filelist[" "size="/></td></tr> </table> <input type= "Submit" Name= "Submitfile" value= "Submitting Documents"/> </form> </body> Submit File Code View Plaincopy to Clipboardprint? <! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <meta http-equiv= "Content-type" content= "text/html; charset=gb2312 "/> <title> File Upload Results </title> <body> <?php if ($_post["Submitfile"]!= "") { $Path = "./". Date (' Ym '). " /"; if (!is_dir ($Path))//create Path {mkdir ($Path);} echo "<div>"; for ($i =0; $i <count ($filelist); $i + +) {//$_files["filelist"] ["size"] [$i] can not be arranged in order, because Fileist is a two-dimensional array if ($_files["filelist"] ["size"] [$i]!=0) { $File = $Path. Date (' Ymdhm '). _ ". $_files[" FileList "[" Name "] [$i]; if (Move_uploaded_file ($_files["filelist"] ["tmp_name"] [$i], $File)) {echo "File upload successful file type:". $_files["FileList"] ["type"] [$i]. " "." File name: " . $_files["FileList" ["Name"] [$i]. " <br> "; } Else {echo "filename:". $_files["FileList"] ["name"] [$i]. " Upload Failure </br> "; } } } echo "</div><br><a href=" $postadd "href=" $postadd "> Return </a></div>"; } ?> </body> |
Another: Error message description
Starting with PHP 4.2.0, PHP returns a corresponding error code along with the file information array. The code can be found in the Error field in the file array generated when the file is uploaded, i.e. $_files[' userfile ' [' Error '].
UPLOAD_ERR_OK
has a value of 0, no errors occurred, and the file was uploaded successfully.
Upload_err_ini_size
has a value of 1, and the uploaded file exceeds the value of the Upload_max_filesize option limit in php.ini.
Upload_err_form_size
has a value of 2, and the size of the uploaded file exceeds the value specified by the Max_file_size option in the HTML form. Upload_err_partial
Its value is 3 and the file is only partially uploaded.
Upload_err_no_file
has a value of 4 and no files are uploaded.
Upload_err_no_tmp_dir
has a value of 6 and cannot find a temporary folder. PHP 4.3.10 and PHP 5.0.3 introduced.
Upload_err_cant_write
has a value of 7, and the file write failed. PHP 5.1.0 introduced.
Note: The above values become PHP constants after PHP 4.3.0.