搜尋
首頁後端開發php教程給大家分享21個常用的PHP函數程式碼段

分享21個常用的PHP函數程式碼段
  1. 1. PHP可閱讀隨機字串
  2. 此程式碼將建立一個可閱讀的字串,使其更接近字典中的單字,實用且具有密碼驗證功能。
  3. /**************
  4. *@length –隨機字串的長度(必須是 2 的倍數)
  5. **************/
  6. function readable_random_string($length = 6){
  7. $conso=array(“b”,”c”,”d”,”f”, ”g”,”h”,”j”,”k”,”l”,
  8. “m”,”n”,”p”,”r”,”s”,”t”,”v” ,”w”,”x”,”y”,”z”);
  9. $vocal=array(“a”,”e”,”i”,”o”,”u”);
  10. $password=”";
  11. srand ((double)microtime()*1000000);
  12. $max = $length/2;
  13. for($i=1; $i{
  14. $password.=$conso[rand(0,19)];
  15. $password.=$vocal[rand(0,4)];
  16. }
  17. return $password;
  18. }
  19. 2. PHP產生一個隨機字串
  20. 如果不需要可閱讀的字串,使用此函數替代,即可建立一個隨機字串,作為用戶的隨機密碼等。
  21. /************
  22. *@l – 隨機字串的長度
  23. */
  24. function generate_rand($l){
  25. $c= “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345679XYZabcdefghijklmnopqrstuvwxyz012345679XYZabc 🎜>for($i=0; $i$rand.= $c[rand()%strlen($c)];
  26. }
  27. return $rand ;
  28. }
  29. 3. PHP編碼電子郵件地址
  30. 使用此程式碼,可以將任何電子郵件地址編碼為html 字元實體,以防止被垃圾郵件程式收集。
  31. function encode_email($email='info@domain.com', $linkText='Contact Us', $attrs ='class=”emailencoder」' )
  32. {
  33. // remplazar aroba y puntos
  34. $email = str_replace('@', '@', $email);
  35. $email = str_replace('.', '.', $email);
  36. $email = str_split( $email, 5);
  37. $linkText = str_replace('@', '@', $linkText);
  38. $linkText = str_replace('.', '.', $linkText);
  39. $linkText = str_split($linkText, 5);
  40. $part1 = '$part2 = 'ilto:';
  41. $part3 = '” '. $attrs .' >';
  42. $part4 = '';
  43. $encoded = '';
  44. return $encoded;
  45. }
  46. 4. PHP驗證郵件地址
  47. 電子郵件驗證也許是中最常用的網頁表單驗證,此程式碼除了驗證電子郵件地址,也可以選擇檢查郵件網域所屬DNS 中的MX 記錄,使郵件驗證功能更加強大。 ($email, $test_mx = false)
  48. {
  49. if(eregi(“^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a -z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$”, $email))
  50. if($test_mx)
  51. {
  52. list($username, $domain) = split(“@”, $email);
  53. return getmxrr($domain, $mxrecords);
  54. }
  55. else
  56. return true;
  57. else
  58. return false;
  59. }
  60. 5. PHP列出目錄內容
  61. function list_files($dir)
  62. {
  63. if(is_dir( $dir))
  64. {
  65. if($handle = opendir($dir))
  66. {
  67. while(($file = readdir($handle)) !== false)
  68. {
  69. if($file != “.” && $file != “..” && $file != “Thumbs.db”)
  70. {
  71. echo ''.$file.'
  72. '.”n”;
  73. }
  74. }
  75. closedir($handle);
  76. }
  77. }
  78. }
  79. 6. PHP銷毀目錄
  80. 刪除一個目錄,包括它的內容。
  81. /*****
  82. *@dir – 要銷毀的目錄
  83. *@virtual[可選]- 是否為虛擬目錄
  84. */
  85. function destroyDir($dir, $virtual = false)
  86. {
  87. $ds = DIRECTORY_SEPARATOR;
  88. {
  89. $ds = DIRECTORY_SEPARATOR;
  90. $dir = $virtual path ($dir) : $dir;
  91. $dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir;
  92. if (is_dir($dir ) && $handle = opendir($dir))
  93. {
  94. while ($file = readdir($handle))
  95. {
  96. if ($file == '.' || $file = = '..')
  97. {
  98. continue;
  99. }
  100. elseif (is_dir($dir.$ds.$file))
  101. {
  102. destroyDir($dir.$ds .$file);
  103. }
  104. else
  105. {
  106. unlink($dir.$ds.$file);
  107. }
  108. }
  109. closedir($handle);
  110. rmdir($dir);
  111. return true;
  112. }
  113. else
  114. {
  115. return false;
  116. }
  117. }
  118. >return false;
  119. }
  120. }
  121. >>🎜>7
  122. 與大多數流行的Web 服務如twitter 透過開放API 來提供資料一樣,它總是能夠知道如何解析API 資料的各種傳送格式,包括JSON,XML 等等。
  123. $json_string='{“id”:1,”name”:”foo”,”email”:”foo@foobar.com”,”interest”:[”wordpress”,”php”] } ';
  124. $obj=json_decode($json_string);
  125. echo $obj->name; //印出foo
  126. echo $obj->interest[1]; //印出php
  127. 8. PHP解析XML資料
  128. //xml字串
  129. $xml_string=”
  130. Foo
  131. foo@bar.com
  132. Foo
  133. foo@bar.com
  134. Foobar
  135. foobar@foo.com
  136. 」;
  137. //使用simplexml 載入xml 字串
  138. $xml = simplexml_load_string($xml_string); 🎜>//循環通過user的各個節點
  139. foreach ($xml->user as $user)
  140. {
  141. //存取屬性
  142. echo $user['id'], ' ';
  143. //子節點透過->存取運算子
  144. 回顯$使用者->姓名,'';
  145. 回顯$使用者->電子郵件,'
  146. ';
  147. }
  148. 9. PHP建立日誌縮寫
  149. 建立使用者友善的日誌縮寫。
  150. function create_slug($string){
  151. $slug=preg_replace('/[^A-Za- z0-9-]+/', '-', $string);
  152. 返回$slug;
  153. }
  154. 10. PHP取得客戶端真實IP位址
  155. 函數將取得使用者的真實IP位址,改為他使用代理伺服器。
  156. function getRealIpAddr()
  157. {
  158. if (!emptyempty ($_SERVER['HTTP_CLIENT_IP']))
  159. {
  160. $ip=$_SERVER]['IPTP_CLI] 🎜>}
  161. elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))
  162. //檢查ip 是否從代理傳遞
  163. {
  164. $ip=$_SERVER['HTTP_X_FORD]; 🎜>}
  165. else
  166. {
  167. $ip=$_SERVER[ 'REMOTE_ADDR'];
  168. }
  169. 回傳$ip;
  170. }
  171. 111. PHP文件下載
  172. 提供使用者足夠的文件下載功能。
  173. /********************
  174. *@file – 檔案路徑
  175. */
  176. function force_download($file)
  177. {
  178. if ((isset($file))&&(file_exists($file))) {
  179. header(“內容長度:”.filesize($file));
  180. header('內容類型:應用程式/octet-stream');
  181. header('Content-Disposition:attachment; filename=” ' . $file . '”');
  182. readfile(“$file”);
  183. } else {
  184. 回顯「未選取檔案」;
  185. }
  186. }
  187. 12. PHP建立標籤雲
  188. function getCloud( $data = array(), $minFontSize = 12, $maxFontSize = 30 )
  189. {
  190. $minimumCount = min( array_values( $ ) );
  191. $maximumCount = max( array_values( $data ) );
  192. $spread = $maximumCount – $minimumCount;
  193. $cloudHTML = 」;
  194. $cloudTags = array(); >
  195. $spread == 0 && $spread = 1;
  196. foreach( $data as $tag => $count )
  197. {
  198. $size = $minFontSize + ( $count – $minimumCount )
  199. * ( $maxFontSize – $minFontSize ) / $spread;
  200. $cloudTags[] = '. '” href=”#” title=”” 。 $tag .
  201. ‘’ 回傳了 ‘ 的計數。 $計數。 ''>'
  202. 。 htmlspecialchars( stripslashes( $tag ) ) 。 '';
  203. }
  204. 返回 join(“n”, $cloudTags ) 。 「n」;
  205. }
  206. /************************
  207. **** 範例用法 ***/
  208. $arr = Array('Actionscript' => 35, 'Adobe' => 22, 'Array' => 44 , '背景' => 43,
  209. '模糊' => 18, '畫布' => 15, '調色板' => 11 ; 42,
  210. '分隔符號'=>13,'深度'=>34 ,'編碼'=>12,
  211. '提取' => 28,'過濾器' => 42);
  212. echo getCloud($arr, 12, 36);
  213. 13. PHP尋找兩個字串的相似性
  214. PHP提供了一個極少使用的similar_text函數,但這個函數非常有用,用於比較兩個字串並傳回相似的百分比。
  215. similar_text($string1, $string2, $percent);
  216. //$percent 將具有相似度百分比
  217. 14。 PHP 在應用程式中使用 Gravatar 通用頭像
  218. 隨著 WordPress 日益普及,Gravatar 也逐漸流行。由於 Gravatar 提供了易於使用的 API,將其納入應用程式也變得十分方便。
  219. /******************
  220. *@email – 顯示頭像的電子郵件地址
  221. *@size – 頭像大小
  222. *@default – 預設頭像的URL使用
  223. *@ rating – Gravatar 的評分(G, PG, R, X)
  224. */
  225. function show_gravatar($email, $size, $default, $ rating)
  226. {
  227. echo ''&default='.$default.' &size ='.$size.'&Rating='.$Rating.'" 寬度="'.$size.'px"
  228. 高度="'.$size.'px" />';
  229. }
  230. 15。字串。
  231. // Chirp Internet 的原始 PHP 程式碼:www.chirp.com.au
  232. // 請透過包含此標頭來確認此程式碼的使用。
  233. function myTruncate($string, $limit, $break=”.”, $pad=”...”) {
  234. // 如果字串短於$limit,則不做任何更改
  235. if(strlen($string) return $string;
  236. // $limit 與字串結尾之間是否存在$break?
  237. if(false !== ($breakpoint = strpos($string, $break, $limit) )) {
  238. if($breakpoint $string = substr($string, 0, $breakpoint) 。 $pad;
  239. }
  240. }
  241. return $string;
  242. }
  243. /***** 例 ****/
  244. $short_string=myTruncate($long_string, 100, ' ');
  245. 16。 PHP檔案Zip 壓縮
  246. /* 建立一個壓縮的zip 檔案*/
  247. function create_zip($files = array(),$destination = ”,$overwrite = false) {
  248. //如果zip 檔案已存在且覆寫為false,回傳false
  249. if(file_exists($destination) && !$overwrite) { return false; }
  250. //vars
  251. $valid_files = array();
  252. //如果檔案傳入...
  253. if(is_array($files)) {
  254. //循環遍歷每個檔案
  255. foreach($files as $file) {
  256. //確保文件存在
  257. if(file_exists($file)) {
  258. $valid_files[] = $file;
  259. }
  260. }
  261. }
  262. //如果我們有好的檔案…
  263. if(count($valid_files)) {
  264. //建立檔案
  265. $zip = new ZipArchive();
  266. if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
  267. return false;
  268. }
  269. //新增檔案
  270. foreach($valid_files as $file) {
  271. $zip->addFile($ file,$file);
  272. }
  273. //debug
  274. //echo 'zip 檔案包含',$zip->numFiles,' 狀態為',$zip->status;
  275. //關閉zip — 完成!
  276. {
  277. return false;
  278. }
  279. }
  280. /***** 用法範例 ***/
  281. $files=array('file1.jpg', 'file2.jpg', ' file3.gif');
  282. create_zip($files, 'myzipfile. zip', true);
  283. 17. PHP解壓縮Zip檔
  284. /**********************
  285. *@file – zip 檔案的路徑
  286. *@destination – 解壓縮檔案的目標目錄
  287. */
  288. function unzip_file($file, $destination){
  289. //建立物件
  290. $zip = new ZipArchive() ;
  291. // 開啟檔案
  292. if ($zip->open($ file) !== TRUE) {
  293. die ('無法開啟檔案');
  294. }
  295. //將內容提取到目標目錄
  296. $zip->extractTo($destination);
  297. //關閉存檔
  298. $zip->close();
  299. echo '存檔提取到目錄';
  300. }
  301. 18。 PHP為URL位址預設http字串
  302. 有時需要接受一些表單中的網址輸入,但使用者很少添加http://字段,此程式碼將為網址添加該字段。
  303. if (!preg_match(“/^(http|ftp):/”, $_POST['url'])) {
  304. $_POST['url'] = 'http://' .$_POST[' url'];
  305. }
  306. 19. PHP 將網址字串轉換成超級連結
  307. 此函數將URL 和電子郵件地址字串轉換為可點擊的超連結。
  308. function makeClickableLinks($text) {
  309. $text = eregi_replace('(((f|ht)lianqiangjavatp://)[-a-zA-Z0-9@:%_+.~ #?&//=]+)',
  310. '1 ', $text);
  311. $text = eregi_replace('([[:space:]()[{}])(www.[- a-zA-Z0-9@:%_+.~#? &//=]+)',
  312. '12', $text);
  313. $text = eregi_replace('([_.0 -9a-z-]+@([0-9a-z]) [0-9a-z-]+.)+[a-z]{2,3})',
  314. '1', $text) ;
  315. 回傳$text;
  316. }
  317. 20。 PHP 調整圖片
  318. 建立映像需要很多時間,此程式碼將有助於了解所需大小的邏輯。
  319. /**********************
  320. *@filename – 圖片路徑
  321. *@tmpname – 縮圖的暫時路徑
  322. *@xmax – 最大值寬度
  323. *@ymax – 最大高度
  324. */
  325. function resize_image( $filename, $tmpname, $xmax, $ymax)
  326. {
  327. $ext =explode(“.”, $filename );
  328. $ext = $ext[count($ext)-1];
  329. if($ext == “jpg” || $ext == “jpeg”)
  330. $im = imagecreatefromjpeg($tmpname);
  331. elseif($ext == “png”)
  332. $im = imagecreatefrompng($tmpname);
  333. elseif($ext == “gif”)
  334. $im🎜>elseif($ext == “gif”)
  335. $im🎜>$im = imagecreatefromgif($tmpname);
  336. $x = imagesx($im );
  337. $y = imagesy($im);
  338. if($x return $im;
  339. if($x >= $y) {
  340. $newx = $xmax;
  341. $newy = $newx * $y / $x;
  342. }
  343. else {
  344. $newy = $ymax;
  345. $newx = $x / $y * $newy;
  346. }
  347. $im2 = imagecreatetruecolorcolor ($newx, $newy);
  348. imagecopyresized($im2, $ im, 0, 0, 0, 0, 樓層($newx), 樓層($newy), $x, $y);
  349. 返回$im2;
  350. }
  351. 21. PHP偵測ajax請求
  352. 大部分的JavaScript框架如jquery,Mootools等,在發出Ajax請求時,都會發送額外的HTTP_X_REQUESTED_WITHTHTHi ,當一個ajax請求時,你可以在伺服器端監聽測到Ajax 請求。
  353. if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
  354. /如果是AJV🎜> }其他{
  355. //其他
  356. }
  357. 複製程式碼


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP的目的:構建動態網站PHP的目的:構建動態網站Apr 15, 2025 am 12:18 AM

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP:處理數據庫和服務器端邏輯PHP:處理數據庫和服務器端邏輯Apr 15, 2025 am 12:15 AM

PHP在數據庫操作和服務器端邏輯處理中使用MySQLi和PDO擴展進行數據庫交互,並通過會話管理等功能處理服務器端邏輯。 1)使用MySQLi或PDO連接數據庫,執行SQL查詢。 2)通過會話管理等功能處理HTTP請求和用戶狀態。 3)使用事務確保數據庫操作的原子性。 4)防止SQL注入,使用異常處理和關閉連接來調試。 5)通過索引和緩存優化性能,編寫可讀性高的代碼並進行錯誤處理。

您如何防止PHP中的SQL注入? (準備的陳述,PDO)您如何防止PHP中的SQL注入? (準備的陳述,PDO)Apr 15, 2025 am 12:15 AM

在PHP中使用預處理語句和PDO可以有效防範SQL注入攻擊。 1)使用PDO連接數據庫並設置錯誤模式。 2)通過prepare方法創建預處理語句,使用佔位符和execute方法傳遞數據。 3)處理查詢結果並確保代碼的安全性和性能。

PHP和Python:代碼示例和比較PHP和Python:代碼示例和比較Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP行動:現實世界中的示例和應用程序PHP行動:現實世界中的示例和應用程序Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:輕鬆創建交互式Web內容PHP:輕鬆創建交互式Web內容Apr 14, 2025 am 12:15 AM

PHP可以輕鬆創建互動網頁內容。 1)通過嵌入HTML動態生成內容,根據用戶輸入或數據庫數據實時展示。 2)處理表單提交並生成動態輸出,確保使用htmlspecialchars防XSS。 3)結合MySQL創建用戶註冊系統,使用password_hash和預處理語句增強安全性。掌握這些技巧將提升Web開發效率。

PHP和Python:比較兩種流行的編程語言PHP和Python:比較兩種流行的編程語言Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP的持久相關性:它還活著嗎?PHP的持久相關性:它還活著嗎?Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具