PHP5薄荷教程[13]文件上傳 收藏
文件上傳使用的是POST方式,,一個(gè)基本的文件上傳表單如下: fileupload.htm <form enctype="multipart/form-data" action="dealfileupload.php" method="POST"> 選擇要上傳的文件: <input name="userfile" type="file"/> <input type="submit" value="上傳"/> </form> 需要注意的是enctype屬性的值以及file控件里的name屬性,這是用來標(biāo)識(shí)上傳的文件的,。 該表單的處理腳本如下:
dealfileupload.php <?php $docroot=$_SERVER['DOCUMENT_ROOT']; $fileupload=$docroot."/upload/".$_FILES['userfile']['name']; if (move_uploaded_file($_FILES['userfile']['tmp_name'],$fileupload)){ echo "文件上傳成功"; }else{ echo "文件上傳失敗"; } ?> 如果上傳成功,,則文件將被保存到網(wǎng)站根目錄下的upload目錄中。下面讓我們分析一下這段簡(jiǎn)單的處理腳本,。 1,、$_FILES數(shù)組 如果file控件里的name屬性的值為userfile,則$_FILES['userfile']包含了該上傳文件的信息,。假定我們上傳了名為temp.txt的文件,,則: $_FILES['userfile']['name']="temp.txt" 文件名 $_FILES['userfile']['tmp_name']="c:/tmp1" 完整的臨時(shí)文件名 $_FILES['userfile']['type']="text/plain" 文件類型 $_FILES['userfile']['size']=1024 文件大小(字節(jié)數(shù)) $_FILES['userfile']['error']=0 錯(cuò)誤代碼,,0表示成功 2,、bool move_uploaded_file (string filename, string destination)
該函數(shù)專門負(fù)責(zé)轉(zhuǎn)移上傳的文件。filename表示完整的臨時(shí)文件名,一般是$_FILES['file1']['tmp_name'],;destination表示完整的目的文件名,,一般使用$_SERVER['DOCUMENT_ROOT']."/upload/".$_FILES['file1']['name']。如果上傳成功,,則返回1,,否則返回0并報(bào)錯(cuò),。如果想要隱藏錯(cuò)誤提示,,可以這樣寫:@move_uploaded_file(...) 3、如果需要上傳多個(gè)文件,,則可以設(shè)置多個(gè)file控件,,注意name屬性要設(shè)置為不同。如:
filesupload.htm <form enctype="multipart/form-data" action="dealfilesupload.php" method="POST"> 選擇要上傳的文件1: <input name="file1" type="file"/> 選擇要上傳的文件2: <input name="file2" type="file"/> <input type="submit" value="上傳"/> </form> dealfilesupload.php
<?php $docroot=$_SERVER['DOCUMENT_ROOT']; $file1upload=$docroot."/upload/".$_FILES['file1']['name']; $file2upload=$docroot."/upload/".$_FILES['file2']['name']; if (@move_uploaded_file($_FILES['file1']['tmp_name'],$file1upload)){ echo "文件1上傳成功"; }else{ echo "文件1上傳失敗"; } print "<br/>"; if (@move_uploaded_file($_FILES['file2']['tmp_name'],$file2upload)){ echo "文件2上傳成功"; }else{ echo "文件2上傳失敗"; } ?> 本文來自CSDN博客,,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/zjerryj/archive/2008/02/22/2114046.aspx
|
|