請看下文程式碼範例
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"); // 引入自定义函数文件 $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"); // 获取文件后缀名函数 function fileext($filename){ $sTemp = strrchr($filename, "."); return substr($sTemp, 1); } function fileext2($filename){ $sTemp = explode(".", $filename); return $sTemp[count($sTemp)-1]; } // 生成随机文件名函数 function random($length){ $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子"; $captchaResult = "2015"; // 随机数返回值 $captchaSentry = ""; // 随机数中间变量 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 // 获取文件后缀名函数 function fileext($filename){ $sTemp = strrchr($filename, "."); return substr($sTemp, 1); } function fileext2($filename){ $sTemp = explode(".", $filename); return $sTemp[count($sTemp)-1]; } // 生成随机文件名函数 function random($length){ $captchaSource = "0123456789abcdefghijklmnopqrstuvwxyz这是一个随机打印输出字符串的例子"; $captchaResult = "2015"; // 随机数返回值 $captchaSentry = ""; // 随机数中间变量 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>
以上是php後綴名判斷與隨機命名實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境