1. PHP可(kě)閱讀文章(zhāng)随機字符串
此編碼将建立一個(gè)可(kě)閱讀文章(zhāng)的(de)字符串數組,使其更貼近字典中的(de)英語單詞,好用(yòng)且具備登陸密碼認證作用(yòng)。
-
-
-
- function readable_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轉化(huà)成一個(gè)随機字符串
假如不用(yòng)可(kě)閱讀文章(zhāng)的(de)字符串數組,應用(yòng)此涵數取代,就可(kě)以建立一個(gè)随機字符串,做(zuò)爲客戶的(de)随機密碼等。
-
-
-
- function generate_rand($l){
- $c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
- srand((double)microtime()*1000000);
- for($i=0; $i<$l; $i ) {
- $rand.= $c[rand()%strlen($c)];
- }
- return $rand;
- }
3. PHP編号電子郵箱詳細地址
應用(yòng)此編碼,能夠将一切電子郵箱詳細地址編号爲 html 标識符實體線,以避免 被垃圾短信程序流程搜集。
- function encode_email($email='info@domain.com', $linkText='Contact Us', $attrs ='class="emailencoder"' )
- {
-
- $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 = '<a href="ma';
- $part2 = 'ilto:';
- $part3 = '" '. $attrs .' >';
- $part4 = '</a>';
-
- $encoded = '<script type="text/javascript">';
- $encoded .= "document.write('$part1');";
- $encoded .= "document.write('$part2');";
- foreach($email as $e)
- {
- $encoded .= "document.write('$e');";
- }
- $encoded .= "document.write('$part3');";
- foreach($linkText as $l)
- {
- $encoded .= "document.write('$l');";
- }
- $encoded .= "document.write('$part4');";
- $encoded .= '</script>';
-
- return $encoded;
- }
4. PHP認證郵箱地址
電子郵箱認證或許是中最常見的(de)網頁頁面表單驗證,此編碼除開認證電子郵箱詳細地址,還(hái)可(kě)以挑選查驗電子郵件域隸屬 DNS 中的(de) MX 紀錄,使電子郵件認證作用(yòng)更爲強勁。
- function
is_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);
- return getmxrr($domain, $mxrecords);
- }
- else
- return true;
- else
- return false;
- }
5. PHP列舉文件目錄內容
- function list_files($dir)
- {
- if(is_dir($dir))
- {
- if($handle = opendir($dir))
- {
- while(($file = readdir($handle)) !== false)
- {
- if($file != "." && $file != ".." && $file != "Thumbs.db")
-  
; {
- echo '<a target="_blank" href="'.$dir.$file.'">'.$file.'</a><br>'."n";
- }
- }
- closedir($handle);
- }
- }
- }
6. PHP消毀文件目錄
删掉一個(gè)文件目錄,包含它的(de)內容。
-
-
-
-
- function destroyDir($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&
nbsp;== '..')
- {
- continue;
- }
- elseif (is_dir($dir.$ds.$file))
- {
- destroyDir($dir.$ds.$file);
- }
- else
- {
- unlink($dir.$ds.$file);
- }
- }
- closedir($handle);
- rmdir($dir);
- return true;
- }
- else
- {
- return false;
- }
- }
7. PHP分(fēn)析 JSON 數據信息
與大(dà)部分(fēn)時(shí)興的(de) Web 服務項目如 twitter 根據對(duì)外開放 API 來(lái)給出的(de)數據一樣,它一直可(kě)以了(le)解怎樣分(fēn)析 API 數據信息的(de)各種各樣傳輸文件格式,包含 JSON,XML 這(zhè)些。
- $json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ';
- $obj=json_decode($json_string);
- echo $obj->name;
- echo $obj->interest[1];
8. PHP分(fēn)析 XML 數據信息
-
- $xml_string="<?xml version='1.0'?>
- <users>
- <user id='398'>
- <name>Foo</name>
- <email>foo@bar.com</name>
- </user>
- <user id='867'>
- <name>Foobar</name>
- <email>foobar@foo.com</name>
- </user>
- </users>";
-
-
- $xml = simplexml_load_string($xml_string);
-
-
- foreach ($xml->user as $user)
- {
-
- echo $user['id'], ' ';
-
- echo $user->name, ' ';
- echo $user->email, '<br />';
- }
9. PHP建立系統日志縮略名
建立客戶友善的(de)系統日志縮略名。
- function create_slug($string){
- $slug=preg_replace('/[^A-Za-z0-9-] /', '-', $string);
- return $slug;
- }
10. PHP獲得(de)手機客戶端真正 IP 詳細地址
該涵數将獲得(de)客戶的(de)真正 IP 詳細地址,就算(suàn)他(tā)應用(yòng)服務器代理(lǐ)。
- function getRealIpAddr()
- {
- if (!emptyempty($_SERVER['HTTP_CLIE
NT_IP']))
- {
- $ip=$_SERVER['HTTP_CLIENT_IP'];
- }
- elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))
-
- {
- $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
- }
- else
- {
- $ip=$_SERVER['REMOTE_ADDR'];
- }
- return $ip;
- }
11. PHP強制壓縮文件下(xià)載
爲客戶出示強制的(de)壓縮文件下(xià)載作用(yòng)。
-
-
-
- function force_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 "No file selected";
- }
- }
12. PHP建立标簽雲
- function getCloud( $data = array(),&
nbsp;$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( $data as $tag => $count )
- {
- $size = $minFontSize ( $count - $minimumCount )
- * ( $maxFontSize - $minFontSize ) / $spread;
- $cloudTags[] = '<a style="font-size: ' . floor( $size ) . 'px'
- . '" href="#" title="'' . $tag .
- '' returned a count of ' . $count . '">'
- . htmlspecialchars( stripslashes( $tag ) ) . '</a>';
- }
-
- return join( "n", $cloudTags ) . "n";
- }
-
-
- $arr = Array('Actionscript' => 35, 'Adobe' => 22, 'Array' => 44, 'Background' => 43,
- 'Blur' => 18, 'Canvas' => 33, 'Class' => 15, 'Color Palette' => 11, 'Crop' => 42,
- 'Delimiter' => 13, 'Depth' => 34, 'Design' => 8, 'Encode' => 12, 'Encryption' => 30,
- 'Extract' => 28, 'Filters' => 42);
- echo getCloud($arr, 12, 36);
13. PHP找尋2個(gè)字符串數組的(de)相似度
PHP 出示了(le)一個(gè)非常少應用(yòng)的(de) similar_text 涵數,但此涵數十分(fēn)有效,用(yòng)以較爲2個(gè)字符串數組并回到類似水(shuǐ)平的(de)百分(fēn)數。
- similar_text($string1, $string2, $percent);
-
14. PHP在程序運行中應用(yòng) Gravatar 通(tōng)用(yòng)性頭像圖片
伴随著(zhe) WordPress 愈來(lái)愈普及化(huà),Gravatar 也(yě)随著(zhe)時(shí)興。因爲 Gravatar 出示了(le)便于應用(yòng)的(de) API,将其列入程序運行也(yě)越來(lái)越十分(fēn)便捷。
-
-
-
-
-
-
- function show_gravatar($email, $size, $default, $rating)
- {
- echo '<img src="http://www.gravatar.com/avatar.php?gravatar_id='.md5($email).
- '&default='.$default.'&size='.$size.'&rating='.$rating.'" width="'.$size.'px"
- height="'.$size.'px" />';
- }
15. PHP在标識符中斷點處斷開文本
說白了(le)斷字 (word break),即一個(gè)英語單詞可(kě)在改行時(shí)斷掉的(de)地區(qū)。這(zhè)一涵數将在斷字處斷開字符串數組。
-
-
- function myTruncate($string, $limit, $break=".", $pad="...") {
-
- if(strlen($string) <= $limit)
- return $string;
-
-
- if(false !== ($breakpoint = strpos($string, $break, $limit))) {
- if($breakpoint < strlen($string) - 1) {
- $string = substr($string, 0, $breakpoint) . $pad;
- }
- }
- return $string;
- }
-
- $short_string=myTruncate($long_string, 100, ' ');
16. PHP文檔 Zip 縮小
-
- function create_zip($files = array(),
$destination = '',$overwrite = false) {
-
- if(file_exists($destination) && !$overwrite) { return false; }
-
- $valid_files = array();
-
- if(is_array($files)) {
-
- foreach($files as $file) {
-
- if(file_exists($file)) {
- $valid_files[] = $file;
- }
- }
- }
-
- if(count($valid_files)) {
-
- $zip = new ZipArchive();
- if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
- return false;
- }
-
- foreach($valid_files as $file) {
- $zip->addFile($file,$file);
- }
-
-
-
-
- $zip->close();
-
-
- return file_exists($destination);
- }
- else
- {
- return false;
- }
- }
-
- $files=array('file1.jpg', 'file2.jpg', 'file3.gif');
- create_zip($files, 'myzipfile.zip', true);
17. PHP壓縮包解壓 Zip 文檔
-
-
-
-
- function unzip_file($file, $destination){
-
- $zip = new ZipArchive() ;
-
- if ($zip->open($file) !== TRUE) {
- die (’Could not open archive’);
- }
-
- $zip->extractTo($destination);
-
- $zip->close();
- echo 'Archive extracted to directory';
- }
18. PHP爲 URL 詳細地址預置 http 字符串數組
有時(shí)候必須接納一些表格中的(de)網站地址
鍵入,但客戶非常少加上 http:// 字段名,此編碼将爲網站地址加上該字段名。
- if (!preg_match("/^(http|ftp):/", $_POST['url'])) {
- $_POST['url'] = 'http://'.$_POST['url'];
- }
19. PHP将網站地址字符串數組轉化(huà)成超鏈接
該涵數将 URL 和(hé) E-mail 詳細地址字符串數組變換爲可(kě)點一下(xià)的(de)超鏈接。
- function makeClickableLinks($text) {
- $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_ .~#?&//=] )',
- '<a href="1">1</a>', $text);
- $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_ .~#?&//=] )',
- '1<a href="http://2">2</a>', $text);
- $text = eregi_replace('([_.0-9a-z-] @([0-9a-z][0-9a-z-] .) [a-z]{2,3})',
- '<a href="mailto:1">1</a>', $text);
-
- return $text;
- }
20. PHP調節圖像尺寸
建立圖象縮列圖必須很多(duō)時間,此編碼将有利于掌握縮列圖的(de)邏輯性。
-
-
-
-
-
-
- function resize_image($filename, $tmpname, $xmax, $ymax)
- {
- $ext = explode(".", $filename);
- $ext = $ext[<
span class="func">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;
- }
- <
span>
- $im2 = imagecreatetruecolor($newx, $newy);
- imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
- return $im2;
- }
21. PHP檢驗 ajax 要求
大(dà)部分(fēn)的(de) JavaScript 架構如 jquery,Mootools 等,在傳出 Ajax 要求時(shí),都是會推送附加的(de) HTTP_X_REQUESTED_WITH 頭頂部信息内容,頭當她們一個(gè)ajax要求,因而你能在服務端探測到 Ajax 要求。
- if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
-
- }else