国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

用PHP文件上傳的具體思路及實現(xiàn)

瀏覽:4日期:2024-02-05 15:59:23

文件上傳我們需要用到HTML里面表單的type=file類型,及其enctype屬性。這是我們大家必須要用的。當(dāng)然了PHP函數(shù)庫當(dāng)中的FILE函數(shù)庫,字符串類型函數(shù)庫,目錄函數(shù)庫及$_FILES[]的使用是我們必須要用到的。

也許每一個站點都可能會對上傳文件有許多的限制,這些限制會包括 文件類型,文件大小,擴(kuò)展名,以及上傳目錄的存在與否,上傳文件的存在與否,目錄的可寫性,可讀性,上傳文件的改名及怎樣把文件從緩存當(dāng)中復(fù)制到你所需要的目錄當(dāng)中。

當(dāng)然出錯的預(yù)處理也是我們不容忽視的!如果再深一步的討論我們還可以對文件的操作起用事件日志的記錄。

下面我們通過一段程序來實現(xiàn)這些功能:首先是我們預(yù)設(shè)的變量值,它包括文件大小,文件擴(kuò)展名類型,MIMI類型,及是否刪除的開關(guān)變量

$MAX_SIZE = 2000000;$FILE_MIMES = array('image/jpeg','image/jpg','image/gif','image/png','application/msword');

$FILE_EXTS = array('.zip','.jpg','.png','.gif');

$DELETABLE = true

下一部就是設(shè)置瀏覽器訪問變量及目錄訪問變量:

$site_name = $_SERVER['HTTP_HOST'];$url_dir = http://.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);$url_this = http://.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = files/;$upload_url = $url_dir./files/;$message =;

建立上傳目錄并相應(yīng)改變權(quán)限:

if (!is_dir(files)) { if (!mkdir($upload_dir))die (upload_files directory doesn't exist and creation failed); if (!chmod($upload_dir,0755))die (change permission to 755 failed.);}

用戶請求的處理:

if ($_REQUEST[del] && $DELETABLE) { $resource = fopen(log.txt,a); fwrite($resource,date(Ymd h:i:s).DELETE - $_SERVER[REMOTE_ADDR].$_REQUEST[del]n); fclose($resource);

 if (strpos($_REQUEST[del],/.)>0); //possible hacking else if (strpos($_REQUEST[del],files/) === false); //possible hacking else if (substr($_REQUEST[del],0,6)==files/) {unlink($_REQUEST[del]);print <script>window.location.href='http://www.cgvv.com.cn/bcjs/$url_this?message=deleted successfully'</script>; }}else if ($_FILES['userfile']) { $resource = fopen(log.txt,a); fwrite($resource,date(Ymd h:i:s).UPLOAD - $_SERVER[REMOTE_ADDR] .$_FILES['userfile']['name'].  .$_FILES['userfile']['type'].n); fclose($resource);

 $file_type = $_FILES['userfile']['type'];  $file_name = $_FILES['userfile']['name']; $file_ext = strtolower(substr($file_name,strrpos($file_name,.)));

 //文件大小的檢查:

 if ( $_FILES['userfile']['size'] > $MAX_SIZE) $message = The file size is over 2MB.;//File Type/Extension Check else if (!in_array($file_type, $FILE_MIMES) && !in_array($file_ext, $FILE_EXTS) )$message = Sorry, $file_name($file_type) is not allowed to be uploaded.; else$message = do_upload($upload_dir, $upload_url);

 print <script>window.location.href='http://www.cgvv.com.cn/bcjs/$url_this?message=$message'</script>;}else if (!$_FILES['userfile']);else $message = Invalid File Specified.;

列出我們上傳的文件:

$handle=opendir($upload_dir);$filelist = ;while ($file = readdir($handle)) { if(!is_dir($file) && !is_link($file)) {$filelist .= <a href='http://www.cgvv.com.cn/bcjs/$upload_dir$file'>.$file.</a>; if ($DELETABLE)$filelist .= <a href='http://www.cgvv.com.cn/bcjs/?del=$upload_dir$file'>x</a>;$filelist .= <sub><small><small><font color=grey> .date(d-m H:i, filemtime($upload_dir.$file)).</font></small></small></sub>;$filelist .=<br>; }}

function do_upload($upload_dir, $upload_url) {

 $temp_name = $_FILES['userfile']['tmp_name']; $file_name = $_FILES['userfile']['name'];  $file_name = str_replace(,,$file_name); $file_name = str_replace(',,$file_name); $file_path = $upload_dir.$file_name;

 //File Name Check if ( $file_name ==) { $message = Invalid File Name Specified;return $message; }

 $result = move_uploaded_file($temp_name, $file_path); if (!chmod($file_path,0777))$message = change permission to 777 failed.; else$message = ($result)?$file_name uploaded successfully. : Somthing is wrong with uploading a file.; return $message;}

?>

<center><font color=red><?=$_REQUEST[message]?></font><br><form name=upload id=upload ENCTYPE=multipart/form-data method=post>Upload File <input type=file id=userfile name=userfile><input type=submit name=upload value=Upload></form>

<br><b>My Files</b><hr width=70%><?=$filelist?><hr width=70%><small><sup>Developed By <a style=text-decoration:none href=http://tech.citypost.ca>CityPost.ca</a></sup></small></center>

標(biāo)簽: PHP
主站蜘蛛池模板: 欧美一区二区三区不卡免费 | 国产精品久久久久久影视 | 男人都懂的网址在线看片 | 欧美一级高清片在线 | 香港a毛片免费全部播放 | 欧美精选欧美极品 | 欧美成人免费午夜影视 | 一区二区三区视频在线观看 | 国产91香蕉| 鸥美毛片 | 99久国产| 美国一级毛片免费看成人 | 久久久久久久99久久久毒国产 | 一本色道久久综合 | 亚洲 欧美 日韩中文字幕一区二区 | 我要看三级毛片 | 国产黄a三级三级看三级 | 亚洲成人在线免费观看 | 日本www色视频成人免费网站 | 高清一本之道加勒比在线 | 欧美精品另类hdvideo | 国产日韩欧美在线一二三四 | 欧美另类视频videosbest18 | 亚洲欧美精品一区天堂久久 | 色偷偷888欧美精品久久久 | 在线观看aaa | 国产妇乱子伦视频免费 | 国产一区二区日韩欧美在线 | 美女张开腿给男人桶 | 亚洲乱码国产一区网址 | 天天看片天天爽_免费播放 天天看夜夜 | 日本丶国产丶欧美色综合 | 农村寡妇一级毛片免费看视频 | 一级做a爰片性色毛片视频图片 | 亚欧美 | 国产一区二区免费不卡在线播放 | 亚欧视频在线 | 国产高清av在线播放 | 三级色网站 | 91久久夜色精品国产网站 | 国产精品黄页在线播放免费 |