2023-01-22 分類(lèi): 網(wǎng)站制作
此代碼將創(chuàng)建一個(gè)可閱讀的字符串,使其更接近詞典中的單詞,實(shí)用且具有密碼驗(yàn)證功能。
/************** *@length-lengthofrandomstring(mustbeamultipleof2) **************/ functionreadable_random_string($length=6){ $conso=array("b","c","d","f","g","h","j","k","l", "m","n","p","r","s","t","v","w","x","y","z"); $vocal=array("a","e","i","o","u"); $password=""; srand((double)microtime()*1000000); $max=$length/2; for($i=1;$i<=$max;$i++) { $password.=$conso[rand(0,19)]; $password.=$vocal[rand(0,4)]; } return$password; }2. PHP生成一個(gè)隨機(jī)字符串
如果不需要可閱讀的字符串,使用此函數(shù)替代,即可創(chuàng)建一個(gè)隨機(jī)字符串,作為用戶的隨機(jī)密碼等。
/************* *@l-lengthofrandomstring */ functiongenerate_rand($l){ $c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; srand((double)microtime()*1000000); for($i=0;$i<$l;$i++){ $rand.=$c[rand()%strlen($c)]; } return$rand; }3. PHP編碼電子郵件地址
使用此代碼,可以將任何電子郵件地址編碼為 html 字符實(shí)體,以防止被垃圾郵件程序收集。
functionencode_email($email='info@domain.com',$linkText='ContactUs',$attrs='class="emailencoder"') { //remplazararobaypuntos $email=str_replace('@','@',$email); $email=str_replace('.','.',$email); $email=str_split($email,5); $linkText=str_replace('@','@',$linkText); $linkText=str_replace('.','.',$linkText); $linkText=str_split($linkText,5); $part1='4. PHP驗(yàn)證郵件地址
電子郵件驗(yàn)證也許是中最常用的網(wǎng)頁(yè)表單驗(yàn)證,此代碼除了驗(yàn)證電子郵件地址,也可以選擇檢查郵件域所屬 DNS 中的 MX 記錄,使郵件驗(yàn)證功能更加強(qiáng)大。
functionis_valid_email($email,$test_mx=false) { if(eregi("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$",$email)) if($test_mx) { list($username,$domain)=split("@",$email); returngetmxrr($domain,$mxrecords); } else returntrue; else returnfalse; }5. PHP列出目錄內(nèi)容
functionlist_files($dir) { if(is_dir($dir)) { if($handle=opendir($dir)) { while(($file=readdir($handle))!==false) { if($file!="."&&$file!=".."&&$file!="Thumbs.db") { echo'6. PHP銷(xiāo)毀目錄
刪除一個(gè)目錄,包括它的內(nèi)容。
/***** *@dir-Directorytodestroy *@virtual[optional]-whetheravirtualdirectory */ functiondestroyDir($dir,$virtual=false) { $ds=DIRECTORY_SEPARATOR; $dir=$virtual?realpath($dir):$dir; $dir=substr($dir,-1)==$ds?substr($dir,0,-1):$dir; if(is_dir($dir)&&$handle=opendir($dir)) { while($file=readdir($handle)) { if($file=='.'||$file=='..') { continue; } elseif(is_dir($dir.$ds.$file)) { destroyDir($dir.$ds.$file); } else { unlink($dir.$ds.$file); } } closedir($handle); rmdir($dir); returntrue; } else { returnfalse; } }7. PHP解析 JSON 數(shù)據(jù)
與大多數(shù)流行的 Web 服務(wù)如 twitter 通過(guò)開(kāi)放 API 來(lái)提供數(shù)據(jù)一樣,它總是能夠知道如何解析 API 數(shù)據(jù)的各種傳送格式,包括 JSON,XML 等等。
$json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]}'; $obj=json_decode($json_string); echo$obj->name;//printsfoo echo$obj->interest[1];//printsphp8. PHP解析 XML 數(shù)據(jù)
//xmlstring $xml_string="9. PHP創(chuàng)建日志縮略名
創(chuàng)建用戶友好的日志縮略名。
functioncreate_slug($string){ $slug=preg_replace('/[^A-Za-z0-9-]+/','-',$string); return$slug; }10. PHP獲取客戶端真實(shí) IP 地址
該函數(shù)將獲取用戶的真實(shí) IP 地址,即便他使用代理服務(wù)器。
functiongetRealIpAddr() { if(!emptyempty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif(!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) //tocheckipispassfromproxy { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return$ip; }11. PHP強(qiáng)制性文件下載
為用戶提供強(qiáng)制性的文件下載功能。
/******************** *@file-pathtofile */ functionforce_download($file) { if((isset($file))&&(file_exists($file))){ header("Content-length:".filesize($file)); header('Content-Type:application/octet-stream'); header('Content-Disposition:attachment;filename="'.$file.'"'); readfile("$file"); }else{ echo"Nofileselected"; } }12. PHP創(chuàng)建標(biāo)簽云
functiongetCloud($data=array(),$minFontSize=12,$maxFontSize=30) { $minimumCount=min(array_values($data)); $maximumCount=max(array_values($data)); $spread=$maximumCount-$minimumCount; $cloudHTML=''; $cloudTags=array(); $spread==0&&$spread=1; foreach($dataas$tag=>$count) { $size=$minFontSize+($count-$minimumCount) *($maxFontSize-$minFontSize)/$spread; $cloudTags[]='13. PHP尋找兩個(gè)字符串的相似性
PHP 提供了一個(gè)極少使用的 similar_text 函數(shù),但此函數(shù)非常有用,用于比較兩個(gè)字符串并返回相似程度的百分比。
similar_text($string1,$string2,$percent); //$percentwillhavethepercentageofsimilarity14. PHP在應(yīng)用程序中使用 Gravatar 通用頭像
隨著 WordPress 越來(lái)越普及,Gravatar 也隨之流行。由于 Gravatar 提供了易于使用的 API,將其納入應(yīng)用程序也變得十分方便。
/****************** *@email-Emailaddresstoshowgravatarfor *@size-sizeofgravatar *@default-URLofdefaultgravatartouse *@rating-ratingofGravatar(G,PG,R,X) */ functionshow_gravatar($email,$size,$default,$rating) { echo'15. PHP在字符斷點(diǎn)處截?cái)辔淖?/strong>
所謂斷字 (word break),即一個(gè)單詞可在轉(zhuǎn)行時(shí)斷開(kāi)的地方。這一函數(shù)將在斷字處截?cái)嘧址?/p>//OriginalPHPcodebyChirpInternet:www.chirp.com.au //Pleaseacknowledgeuseofthiscodebyincludingthisheader. functionmyTruncate($string,$limit,$break=".",$pad="..."){ //returnwithnochangeifstringisshorterthan$limit if(strlen($string)<=$limit) return$string; //is$breakpresentbetween$limitandtheendofthestring? if(false!==($breakpoint=strpos($string,$break,$limit))){ if($breakpoint
17. PHP解壓縮 Zip 文件
/********************** *@file-pathtozipfile *@destination-destinationdirectoryforunzippedfiles */ functionunzip_file($file,$destination){ //createobject $zip=newZipArchive(); //openarchive if($zip->open($file)!==TRUE){ die(’Couldnotopenarchive’); } //extractcontentstodestinationdirectory $zip->extractTo($destination); //closearchive $zip->close(); echo'Archiveextractedtodirectory'; }18. PHP為 URL 地址預(yù)設(shè) http 字符串
有時(shí)需要接受一些表單中的網(wǎng)址輸入,但用戶很少添加 http:// 字段,此代碼將為網(wǎng)址添加該字段。
if(!preg_match("/^(http|ftp):/",$_POST['url'])){ $_POST['url']='http://'.$_POST['url']; }19. PHP將網(wǎng)址字符串轉(zhuǎn)換成超級(jí)鏈接
該函數(shù)將 URL 和 E-mail 地址字符串轉(zhuǎn)換為可點(diǎn)擊的超級(jí)鏈接。
functionmakeClickableLinks($text){ $text=eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)', '20. PHP調(diào)整圖像尺寸
創(chuàng)建圖像縮略圖需要許多時(shí)間,此代碼將有助于了解縮略圖的邏輯。
/********************** *@filename-pathtotheimage *@tmpname-temporarypathtothumbnail *@xmax-maxwidth *@ymax-maxheight */ functionresize_image($filename,$tmpname,$xmax,$ymax) { $ext=explode(".",$filename); $ext=$ext[count($ext)-1]; if($ext=="jpg"||$ext=="jpeg") $im=imagecreatefromjpeg($tmpname); elseif($ext=="png") $im=imagecreatefrompng($tmpname); elseif($ext=="gif") $im=imagecreatefromgif($tmpname); $x=imagesx($im); $y=imagesy($im); if($x<=$xmax&&$y<=$ymax) return$im; if($x>=$y){ $newx=$xmax; $newy=$newx*$y/$x; } else{ $newy=$ymax; $newx=$x/$y*$newy; } $im2=imagecreatetruecolor($newx,$newy); imagecopyresized($im2,$im,0,0,0,0,floor($newx),floor($newy),$x,$y); return$im2; }21. PHP檢測(cè) ajax 請(qǐng)求
大多數(shù)的 JavaScript 框架如 jquery,Mootools 等,在發(fā)出 Ajax 請(qǐng)求時(shí),都會(huì)發(fā)送額外的 HTTP_X_REQUESTED_WITH 頭部信息,頭當(dāng)他們一個(gè)ajax請(qǐng)求,因此你可以在服務(wù)器端偵測(cè)到 Ajax 請(qǐng)求。
if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH'])&&strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])=='xmlhttprequest'){ //IfAJAXRequestThen }else
當(dāng)前名稱:[成都網(wǎng)站制作]PHP二十一段救命代碼
分享地址:http://www.rwnh.cn/news/231607.html
網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷(xiāo)seo公司;服務(wù)項(xiàng)目有網(wǎng)站制作等
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容