資源描述:
《PHP高級編程》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、PHP高級編程★上傳文件nHTML的設計:上傳文件名稱:要使用form表單,enctype必須為"multipart/form
2、-data",否則腳本將不會工作;表單方法是POST需要一個隱藏的表單域,用來標記文件最大字節(jié)數(shù)一個文件域,用來選擇文件n在PHP腳本中,需要處理的文件保存在$_FILES全局數(shù)組中,其中:$_FILES['userfile']['name']-Theoriginalnameofthefileontheclientmachine.$_FILES['userfile']['type']-Themimetypeofthefile,ifthebrowserprovidedthisinformation.Anexamplewo
3、uldbe"image/gif".ThismimetypeishowevernotcheckedonthePHPsideandthereforedon'ttakeitsvalueforgranted.$_FILES['userfile']['size']-Thesize,inbytes,oftheuploadedfile.$_FILES['userfile']['tmp_name']-Thetemporaryfilenameofthefileinwhichtheuploadedfilewasstoredontheser
4、ver.$_FILES['userfile']['error']-Theerrorcodeassociatedwiththisfileupload.ThiselementwasaddedinPHP4.2.0n上傳文件的安全性要保證用戶上傳的是本地文件,這樣可以確保安全性(假如用戶修改腳本上傳存儲在服務器的密碼文件也是可以的)is_uploaded_file($_FILES['userfile']['tmp_name'])//若為上傳的文件則返回True$upfile='/uploads/'.$_FILES['userf
5、ile']['name'];move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile)//若為上傳的文件則將文件移動到指定的位置使用is_uploaded_file()函數(shù)可以檢測是否是上傳文件,必須要傳遞上傳文件名作為參數(shù)。move_uploaded_file也檢查是否為上傳文件,若是上傳文件,則將此文件移動到指定的位置為安全起見,若上傳的是Text文件,亦可用strip_tags()函數(shù)來移除所有HTML代碼(以防止在服務端執(zhí)行惡意操作)//reforma
6、tthefilecontents$fp=fopen($upfile,'r');$contents=fread($fp,filesize($upfile));fclose($fp);$contents=strip_tags($contents);$fp=fopen($upfile,'w');fwrite($fp,$contents);fclose($fp);n上傳文件注意事項若是Windows系統(tǒng),則要在路徑中用"\"或者"/"來代替""。上傳的文件若與已經存在的文件名相同,則會覆蓋原文件。需要檢查文件名中是是否包含
7、非法字符。上傳超大文件需要重新配置Apache服務器,同時還需要調節(jié)memory_limit指令等。★使用目錄函數(shù)$current_dir='E:/PHP/';$dir=opendir($current_dir);echo"
Uploaddirectoryis$current_dir
";echo'
DirectoryListing:
';while($file=readdir($dir)){echo"- $file
";}echo'
';closedir($dir);o
8、pendir()-打開目錄readdir()-讀取目錄讀取目錄后并未按特定順序排列。若要文件排序則要先讀取到數(shù)組中,再對數(shù)組進行排列。closedir()-關閉目錄rewinddir()-將所讀文件恢復到開始的目錄除此之外還可以用DIR類注:在Windows下可以先用$current_dir='/';$dir=opendir($c