Home > php教程 > php手册 > body text

10个必须收藏的PHP代码样例

WBOY
Release: 2016-06-21 08:46:27
Original
912 people have browsed it

一、黑名单过滤

  1. function is_spam($text, $file, $split = ':', $regex = false){ 
  2.     $handle = fopen($file, 'rb'); 
  3.     $contents = fread($handle, filesize($file)); 
  4.     fclose($handle); 
  5.     $lines = explode("n", $contents); 
  6. $arr = array(); 
  7. foreach($lines as $line){ 
  8. list($word, $count) = explode($split, $line); 
  9. if($regex) 
  10. $arr[$word] = $count; 
  11. else 
  12. $arr[preg_quote($word)] = $count; 
  13. preg_match_all("~".implode('', array_keys($arr))."~", $text, $matches); 
  14. $temp = array(); 
  15. foreach($matches[0] as $match){ 
  16. if(!in_array($match, $temp)){ 
  17. $temp[$match] = $temp[$match] + 1
  18. if($temp[$match] >= $arr[$word]) 
  19. return true
  20. return false
  21.  
  22. $file = 'spam.txt'
  23. $str = 'This string has cat, dog word'
  24. if(is_spam($str, $file)) 
  25. echo 'this is spam'
  26. else 
  27. echo 'this is not spam'
  28.  
  29. ab:3 
  30. dog:3 
  31. cat:2 
  32. monkey:2 
Copy after login

二、随机颜色生成器

  1. function randomColor() { 
  2.     $str = '#'
  3.     for($i = 0 ; $i $i++) { 
  4.         $randNum = rand(0 , 15); 
  5.         switch ($randNum) { 
  6.             case 10: $randNum = 'A'break
  7.             case 11: $randNum = 'B'break
  8.             case 12: $randNum = 'C'break
  9.             case 13: $randNum = 'D'break
  10.             case 14: $randNum = 'E'break
  11.             case 15: $randNum = 'F'break
  12.         } 
  13.         $str .= $randNum
  14.     } 
  15.     return $str
  16. $color = randomColor(); 
Copy after login

三、从网上下载文件

  1. set_time_limit(0); 
  2. // Supports all file types 
  3. // URL Here: 
  4. $url = 'http://somsite.com/some_video.flv'
  5. $pi = pathinfo($url); 
  6. $ext = $pi['extension']; 
  7. $name = $pi['filename']; 
  8.  
  9. // create a new cURL resource 
  10. $ch = curl_init(); 
  11.  
  12. // set URL and other appropriate options 
  13. curl_setopt($ch, CURLOPT_URL, $url); 
  14. curl_setopt($ch, CURLOPT_HEADER, false); 
  15. curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); 
  16. curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
  17. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
  18. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
  19.  
  20. // grab URL and pass it to the browser 
  21. $opt = curl_exec($ch); 
  22.  
  23. // close cURL resource, and free up system resources 
  24. curl_close($ch); 
  25.  
  26. $saveFile = $name.'.'.$ext
  27. if(preg_match("/[^0-9a-z._-]/i"$saveFile)) 
  28. $saveFile = md5(microtime(true)).'.'.$ext
  29.  
  30. $handle = fopen($saveFile'wb'); 
  31. fwrite($handle$opt); 
  32. fclose($handle); 
Copy after login

四、Alexa/Google Page Rank

  1. function page_rank($page$type = 'alexa'){ 
  2. switch($type){ 
  3. case 'alexa'
  4. $url = 'http://alexa.com/siteinfo/'
  5. $handle = fopen($url.$page'r'); 
  6. break
  7. case 'google'
  8. $url = 'http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info:'
  9. $handle = fopen($url.'http://'.$page'r'); 
  10. break
  11. $content = stream_get_contents($handle); 
  12. fclose($handle); 
  13. $content = preg_replace("~(ntss+)~",''$content); 
  14. switch($type){ 
  15. case 'alexa'
  16. if(preg_match('~
    10个必须收藏的PHP代码样例(.+?) 
    ~im'
    ,$content,$matches)){ 
  17. return $matches[2]; 
  18. }else
  19. return FALSE; 
  20. break
  21. case 'google'
  22. $rank = explode(':',$content); 
  23. if($rank[2] != ''
  24. return $rank[2]; 
  25. else 
  26. return FALSE; 
  27. break
  28. default
  29. return FALSE; 
  30. break
  31. // Alexa Page Rank: 
  32. echo 'Alexa Rank: '.page_rank('techug.com'); 
  33. echo ' '
  34. // Google Page Rank 
  35. echo 'Google Rank: '.page_rank('techug.com''google'); 
Copy after login

五、强制下载文件

  1. $filename = $_GET['file']; //Get the fileid from the URL 
  2. // Query the file ID 
  3. $query = sprintf("SELECT * FROM tableName WHERE id = '%s'",mysql_real_escape_string($filename)); 
  4. $sql = mysql_query($query); 
  5. if(mysql_num_rows($sql) > 0){ 
  6. $row = mysql_fetch_array($sql); 
  7. // Set some headers 
  8. header("Pragma: public"); 
  9. header("Expires: 0"); 
  10. header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
  11. header("Content-Type: application/force-download"); 
  12. header("Content-Type: application/octet-stream"); 
  13. header("Content-Type: application/download"); 
  14. header("Content-Disposition: attachment; filename=".basename($row['FileName']).";"); 
  15. header("Content-Transfer-Encoding: binary"); 
  16. header("Content-Length: ".filesize($row['FileName'])); 
  17.  
  18. @readfile($row['FileName']); 
  19. exit(0); 
  20. }else
  21. header("Location: /"); 
  22. exit
Copy after login

六、用Email显示用户的Gravator头像

  1. $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($comment_author_email) . '?s=32'
  2. echo '10个必须收藏的PHP代码样例 . $gravatar_link . '" />'
Copy after login

七、用cURL获取RSS订阅数

  1. $ch = curl_init(); 
  2. curl_setopt($ch,CURLOPT_URL,'https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4'); 
  3. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
  4. curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2); 
  5. $content = curl_exec($ch); 
  6. $subscribers = get_match('/circulation="(.*)"/isU',$content); 
  7. curl_close($ch); 
  8.  
  9. 八、时间差异计算 
  10.  
  11. function ago($time) 
  12.    $periods = array("second""minute""hour""day""week""month""year""decade"); 
  13. $lengths = array("60","60","24","7","4.35","12","10"); 
  14.  
  15. $now = time(); 
  16.  
  17. $difference = $now - $time; 
  18. $tense = "ago"
  19.  
  20. for($j = 0; $difference >= $lengths[$j] && $j 1; $j++) { 
  21. $difference /= $lengths[$j]; 
  22.  
  23. $difference = round($difference); 
  24.  
  25. if($difference != 1) { 
  26. $periods[$j].= "s"
  27.  
  28. return "$difference $periods[$j] 'ago' "
Copy after login

九、截取图片

  1. $filename= "test.jpg"
  2. list($w, $h, $type, $attr) = getimagesize($filename); 
  3. $src_im = imagecreatefromjpeg($filename); 
  4.  
  5. $src_x = '0'// begin x 
  6. $src_y = '0'// begin y 
  7. $src_w = '100'// width 
  8. $src_h = '100'// height 
  9. $dst_x = '0'// destination x 
  10. $dst_y = '0'// destination y 
  11.  
  12. $dst_im = imagecreatetruecolor($src_w, $src_h); 
  13. $white = imagecolorallocate($dst_im, 255255255); 
  14. imagefill($dst_im, 00, $white); 
  15.  
  16. imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h); 
  17.  
  18. header("Content-type: image/png"); 
  19. imagepng($dst_im); 
  20. imagedestroy($dst_im); 
Copy after login

十、检查网站是否宕机

  1. function Visit($url){ 
  2.        $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init(); 
  3. curl_setopt ($ch, CURLOPT_URL,$url ); 
  4. curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
  5. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
  6. curl_setopt ($ch,CURLOPT_VERBOSE,false); 
  7. curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
  8. curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); 
  9. curl_setopt($ch,CURLOPT_SSLVERSION,3); 
  10. curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); 
  11. $page=curl_exec($ch); 
  12. //echo curl_error($ch); 
  13. $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
  14. curl_close($ch); 
  15. if($httpcode>=200 && $httpcode300return true
  16. else return false
  17. if (Visit("http://www.google.com")) 
  18. echo "Website OK"."n"
  19. else 
  20. echo "Website DOWN"
Copy after login

 

【责任编辑:wangxueyan TEL:(010)68476606】



Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact [email protected]
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!