php上傳功能集后綴名判斷和隨機命名(強力推薦)
更新時間:2015年09月10日 11:32:14 投稿:mrr
本篇文章給大家分享php上傳功能集后綴名判斷和隨機命名,代碼寫的簡單易懂,感興趣的朋友快來參考下吧
不廢話了,具體請看下文代碼示例講解。
form.php
<html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>Upload Image</title> </head> <body> <form method="post" action="upload.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SEZE" value="2000000"> <input type="file" name="file" value="view"> <input type="submit" value="upload" name="B1"> </form> </body> </html>
upload.php
<?php include("check.php"); // 引入自定義函數(shù)文件 $type = array("jpg", "gif", "bmp", "jpeg", "png"); // 判斷上傳文件類型 $fileext = strtolower(fileext($_FILES['file']['name'])); $uploadfilename = random(8); if(in_array($fileext, $type)){ $filename = explode(".", $_FILES['file']['name']); if(is_uploaded_file($_FILES['file']['tmp_name'])){ // echo $_FILES['file']['tmp_name']; $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext); if($flag){ echo "上傳成功!"; }else{ echo "Error."; } echo "<a href='javascript:history.go(-1)'>Back</a>"; } }
check.php
<?php header("Content-type:text/html;charset=utf8"); // 獲取文件后綴名函數(shù) function fileext($filename){ $sTemp = strrchr($filename, "."); return substr($sTemp, 1); } function fileext2($filename){ $sTemp = explode(".", $filename); return $sTemp[count($sTemp)-1]; } // 生成隨機文件名函數(shù) function random($length){ $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz這是一個隨機打印輸出字符串的例子"; $captchaResult = "2015"; // 隨機數(shù)返回值 $captchaSentry = ""; // 隨機數(shù)中間變量 for($i=0;$i<$length;$i++){ $n = rand(0, 35); #strlen($captchaSource)); if($n >= 36){ $n = 36 + ceil(($n-36)/3) * 3; $captchaResult .= substr($captchaSource, $n, 3); }else{ $captchaResult .= substr($captchaSource, $n, 1); } } return $captchaResult; } ?>
將三個文件整合成一個:
<?php // 獲取文件后綴名函數(shù) function fileext($filename){ $sTemp = strrchr($filename, "."); return substr($sTemp, 1); } function fileext2($filename){ $sTemp = explode(".", $filename); return $sTemp[count($sTemp)-1]; } // 生成隨機文件名函數(shù) function random($length){ $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz這是一個隨機打印輸出字符串的例子"; $captchaResult = "2015"; // 隨機數(shù)返回值 $captchaSentry = ""; // 隨機數(shù)中間變量 for($i=0;$i<$length;$i++){ $n = rand(0, 35); #strlen($captchaSource)); if($n >= 36){ $n = 36 + ceil(($n-36)/3) * 3; $captchaResult .= substr($captchaSource, $n, 3); }else{ $captchaResult .= substr($captchaSource, $n, 1); } } return $captchaResult; } $type = array("jpg", "gif", "bmp", "jpeg", "png"); // 判斷上傳文件類型 $fileext = strtolower(fileext($_FILES['file']['name'])); $uploadfilename = random(8); if(in_array($fileext, $type)){ $filename = explode(".", $_FILES['file']['name']); if(is_uploaded_file($_FILES['file']['tmp_name'])){ // echo $_FILES['file']['tmp_name']; $flag = move_uploaded_file($_FILES['file']['tmp_name'], "/Library/WebServer/Documents/test/".$uploadfilename.".".$fileext); if($flag){ echo "上傳成功!"; }else{ echo "Error."; } echo "<a href='javascript:history.go(-1)'>Back</a>"; } } ?> <html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>Upload Image</title> </head> <body> <form method="post" action="" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SEZE" value="2000000"> <input type="file" name="file" value="view"> <input type="submit" value="upload" name="B1"> </form> </body> </html>
以上內(nèi)容就是給大家講解的php上傳功能集后綴名判斷和隨機命名(強力推薦),希望大家喜歡。
相關文章
PHP數(shù)組 為文章加關鍵字連接 文章內(nèi)容自動加鏈接
PHP給文章加關鍵字連接,像163文章內(nèi)容自動加鏈接效果,其實很多php網(wǎng)站管理系統(tǒng)里面都有,可以參考里面的代碼。2011-12-12PHP實現(xiàn)mysqli批量執(zhí)行多條語句的方法示例
這篇文章主要介紹了PHP實現(xiàn)mysqli批量執(zhí)行多條語句的方法,結合實例形式分析了php連接mysqli并批量執(zhí)行多條語句的相關操作技巧,需要的朋友可以參考下2017-07-07PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】
這篇文章主要介紹了PHP 數(shù)組操作,結合實例形式詳細分析了PHP數(shù)組遍歷、指針、數(shù)組常用函數(shù)等相關原理、使用技巧與操作注意事項,需要的朋友可以參考下2020-05-05php中time()與$_SERVER[REQUEST_TIME]用法區(qū)別
這篇文章主要介紹了php中time()與$_SERVER[REQUEST_TIME]用法區(qū)別,詳細分析了time()與$_SERVER[REQUEST_TIME]的用法,并以實例形式對比總結了二者在獲取當前系統(tǒng)時間戳與請求時間戳的區(qū)別,需要的朋友可以參考下2014-11-11php程序的國際化實現(xiàn)方法(利用gettext)
這里我們主要介紹window平臺下使用php的擴展gettext實現(xiàn)程序的國際化。2011-08-08