亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

10個超級有用值得收藏的PHP代碼片段

2024-05-04 23:30:22
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了10個超級有用值得收藏的PHP代碼片段,本文講解了黑名單過濾、隨機顏色生成器、從網絡下載文件、強制下載文件、通過Email顯示用戶的Gravatar頭像等內容,需要的朋友可以參考下
 

盡管PHP經常被人詬病,被人貶低,被人當玩笑開,事實證明,PHP是全世界網站開發中使用率最高的編程語言。PHP最大的缺點是太簡單,語法不嚴謹,框架體系很弱,但這也是它最大的優點,一個有點編程背景的普通人,只需要學習PHP半天時間,就可以上手開始開發web應用了。

網上有人總結幾種編程語言的特點,我覺得也挺有道理的:

 

復制代碼代碼如下:

PHP 就是: Quick and Dirty
Java 就是: Beauty and Slowly
Ruby 就是: Quick and Beauty
python 就是: Quick and Simple

 

在PHP的流行普及中,網上總結出了很多實用的PHP代碼片段,這些代碼片段在當你遇到類似的問題時,粘貼過去就可以使用,非常的高效,非常的省時省力。將這些程序員前輩總結出的優秀代碼放到自己的知識庫中,是一個善于學習的程序員的好習慣。

一、黑名單過濾

復制代碼代碼如下:

function is_spam($text, $file, $split = ':', $regex = false){ 
    $handle = fopen($file, 'rb'); 
    $contents = fread($handle, filesize($file)); 
    fclose($handle); 
    $lines = explode("n", $contents); 
    $arr = array(); 
    foreach($lines as $line){ 
        list($word, $count) = explode($split, $line); 
        if($regex) 
            $arr[$word] = $count; 
        else 
            $arr[preg_quote($word)] = $count; 
    } 
    preg_match_all("~".implode('|', array_keys($arr))."~", $text, $matches); 
    $temp = array(); 
    foreach($matches[0] as $match){ 
        if(!in_array($match, $temp)){ 
            $temp[$match] = $temp[$match] + 1; 
            if($temp[$match] >= $arr[$word]) 
                return true; 
        } 
    } 
    return false; 
}

 

$file = 'spam.txt'; 
$str = 'This string has cat, dog word'; 
if(is_spam($str, $file)) 
    echo 'this is spam'; 
else 
    echo 'this is not spam';
ab:3
dog:3
cat:2
monkey:2


二、隨機顏色生成器
復制代碼代碼如下:

function randomColor() { 
    $str = '#'; 
    for($i = 0 ; $i < 6 ; $i++) { 
        $randNum = rand(0 , 15); 
        switch ($randNum) { 
            case 10: $randNum = 'A'; break; 
            case 11: $randNum = 'B'; break; 
            case 12: $randNum = 'C'; break; 
            case 13: $randNum = 'D'; break; 
            case 14: $randNum = 'E'; break; 
            case 15: $randNum = 'F'; break; 
        } 
        $str .= $randNum; 
    } 
    return $str; 

$color = randomColor();

三、從網絡下載文件
復制代碼代碼如下:

set_time_limit(0); 
// Supports all file types 
// URL Here: 
$url = 'http://somsite.com/some_video.flv'; 
$pi = pathinfo($url); 
$ext = $pi['extension']; 
$name = $pi['filename'];

 

// create a new cURL resource 
$ch = curl_init();

// set URL and other appropriate options 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); 
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// grab URL and pass it to the browser 
$opt = curl_exec($ch);

// close cURL resource, and free up system resources 
curl_close($ch);

$saveFile = $name.'.'.$ext; 
if(preg_match("/[^0-9a-z._-]/i", $saveFile)) 
    $saveFile = md5(microtime(true)).'.'.$ext;

$handle = fopen($saveFile, 'wb'); 
fwrite($handle, $opt); 
fclose($handle);
四、Alexa/Google Page Rank

function page_rank($page, $type = 'alexa'){ 
    switch($type){ 
        case 'alexa': 
            $url = 'http://alexa.com/siteinfo/'; 
            $handle = fopen($url.$page, 'r'); 
        break; 
        case 'google': 
            $url = 'http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info:'; 
            $handle = fopen($url.'http://'.$page, 'r'); 
        break; 
    } 
    $content = stream_get_contents($handle); 
    fclose($handle); 
    $content = preg_replace("~(n|t|ss+)~",'', $content); 
    switch($type){ 
        case 'alexa': 
            if(preg_match('~<div class="data (down|up)"><img.+?>(.+?) </div>~im',$content,$matches)){ 
                return $matches[2]; 
            }else{ 
                return FALSE; 
            } 
        break; 
        case 'google': 
            $rank = explode(':',$content); 
            if($rank[2] != '') 
                return $rank[2]; 
            else 
                return FALSE; 
        break; 
        default: 
            return FALSE; 
        break; 
    } 

// Alexa Page Rank: 
echo 'Alexa Rank: '.page_rank('techug.com'); 
echo '
'; 
// Google Page Rank 
echo 'Google Rank: '.page_rank('techug.com', 'google');

 

五、強制下載文件

復制代碼代碼如下:

$filename = $_GET['file']; //Get the fileid from the URL 
// Query the file ID 
$query = sprintf("SELECT * FROM tableName WHERE id = '%s'",mysql_real_escape_string($filename)); 
$sql = mysql_query($query); 
if(mysql_num_rows($sql) > 0){ 
    $row = mysql_fetch_array($sql); 
    // Set some headers 
    header("Pragma: public"); 
    header("Expires: 0"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Content-Type: application/force-download"); 
    header("Content-Type: application/octet-stream"); 
    header("Content-Type: application/download"); 
    header("Content-Disposition: attachment; filename=".basename($row['FileName']).";"); 
    header("Content-Transfer-Encoding: binary"); 
    header("Content-Length: ".filesize($row['FileName']));

 

    @readfile($row['FileName']); 
    exit(0); 
}else{ 
    header("Location: /"); 
    exit; 
}


六、通過Email顯示用戶的Gravatar頭像
復制代碼代碼如下:

 $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($comment_author_email) . '?s=32';
  echo '<img src="' . $gravatar_link . '" />';

七、通過cURL獲取RSS訂閱數
復制代碼代碼如下:

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
$content = curl_exec($ch);
$subscribers = get_match('/circulation="(.*)"/isU',$content);
curl_close($ch);

八、時間差異計算函數
復制代碼代碼如下:

function ago($time)
{
   $periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
   $lengths = array("60","60","24","7","4.35","12","10");

 

   $now = time();

       $difference     = $now - $time;
       $tense         = "ago";

   for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
       $difference /= $lengths[$j];
   }

   $difference = round($difference);

   if($difference != 1) {
       $periods[$j].= "s";
   }

   return "$difference $periods[$j] 'ago' ";
}


九、裁剪圖片
復制代碼代碼如下:

$filename= "test.jpg";
list($w, $h, $type, $attr) = getimagesize($filename);
$src_im = imagecreatefromjpeg($filename);

 

$src_x = '0';   // begin x
$src_y = '0';   // begin y
$src_w = '100'; // width
$src_h = '100'; // height
$dst_x = '0';   // destination x
$dst_y = '0';   // destination y

$dst_im = imagecreatetruecolor($src_w, $src_h);
$white = imagecolorallocate($dst_im, 255, 255, 255);
imagefill($dst_im, 0, 0, $white);

imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);

header("Content-type: image/png");
imagepng($dst_im);
imagedestroy($dst_im);


十、檢查網站是否宕機
復制代碼代碼如下:

function Visit($url){
       $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
       curl_setopt ($ch, CURLOPT_URL,$url );
       curl_setopt($ch, CURLOPT_USERAGENT, $agent);
       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt ($ch,CURLOPT_VERBOSE,false);
       curl_setopt($ch, CURLOPT_TIMEOUT, 5);
       curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
       curl_setopt($ch,CURLOPT_SSLVERSION,3);
       curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
       $page=curl_exec($ch);
       //echo curl_error($ch);
       $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
       curl_close($ch);
       if($httpcode>=200 && $httpcode<300) return true;
       else return false;
}
if (Visit("http://www.google.com"))
       echo "Website OK"."n";
else
       echo "Website DOWN";
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av不卡电影| 亚洲缚视频在线观看| 成人欧美在线视频| 欧美激情极品视频| 98精品在线视频| 伊人久久综合97精品| 日韩精品欧美国产精品忘忧草| 亚洲精品电影网站| 国产精品偷伦免费视频观看的| 国产精品视频大全| 亚洲有声小说3d| 日韩成人在线免费观看| 欧美精品久久久久久久免费观看| 97视频在线观看播放| 日韩中文字幕在线播放| 欧美激情xxxx| 欧美床上激情在线观看| 午夜精品一区二区三区av| 亚洲美女性视频| 亚洲奶大毛多的老太婆| 91精品久久久久久久久久久久久久| 国产精品网站视频| 亚洲经典中文字幕| 一本色道久久综合狠狠躁篇怎么玩| 日韩av电影免费观看高清| y97精品国产97久久久久久| 亲爱的老师9免费观看全集电视剧| 欧美日韩高清在线观看| 欧美亚洲国产日本| 亚洲第一区第二区| 日韩电影在线观看永久视频免费网站| 全亚洲最色的网站在线观看| 亚洲free性xxxx护士白浆| 国产精品草莓在线免费观看| 亚洲人成在线观看网站高清| www.久久久久| 在线精品91av| 亚洲深夜福利在线| 麻豆一区二区在线观看| 欧美日韩成人免费| 欧美日本中文字幕| 一本色道久久综合狠狠躁篇的优点| 高清欧美电影在线| 国产综合视频在线观看| 欧美亚洲国产视频| 久久艹在线视频| 亚洲毛片在线看| 黑人巨大精品欧美一区二区一视频| 日韩中文字幕视频在线观看| 国产欧美精品在线| 91精品国产综合久久香蕉922| 亚洲天堂日韩电影| 欧美成人一二三| 91精品久久久久久久久久久久久| 66m—66摸成人免费视频| 亚洲欧洲xxxx| 日韩欧美在线第一页| 国产日韩欧美夫妻视频在线观看| 亚洲最新av在线网站| 在线播放国产精品| 91精品成人久久| 97人人做人人爱| 欧美丰满少妇xxxxx做受| 亚洲欧美国产精品久久久久久久| 日韩精品在线免费| 欧美日韩国产中字| 91九色视频在线| 国产精品青青在线观看爽香蕉| 97在线精品国自产拍中文| 另类少妇人与禽zozz0性伦| 亚洲天堂av女优| 欧美黄色成人网| 亚洲综合日韩中文字幕v在线| 欧美午夜精品久久久久久久| 国产精品久久久久久久久久新婚| 成人免费在线网址| 91精品国产成人www| 亚洲人成亚洲人成在线观看| 欧美日韩在线视频一区| 性色av一区二区咪爱| 久久免费观看视频| 98视频在线噜噜噜国产| 欧美激情区在线播放| www国产91| zzjj国产精品一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产成人精彩在线视频九色| 欧美日韩另类视频| 在线视频欧美日韩| 国产第一区电影| 高清欧美一区二区三区| 91精品久久久久久综合乱菊| 日本国产高清不卡| 精品国产一区二区三区四区在线观看| 精品亚洲夜色av98在线观看| 91成品人片a无限观看| 精品福利免费观看| 国产欧美日韩中文字幕| 大胆欧美人体视频| 精品人伦一区二区三区蜜桃网站| 欧美巨大黑人极品精男| 97久久久免费福利网址| 奇米一区二区三区四区久久| 亚洲欧美国产一区二区三区| 日韩国产高清污视频在线观看| 亚洲国产精品久久久| 26uuu亚洲伊人春色| 精品国内亚洲在观看18黄| 国产成人高潮免费观看精品| 精品国产欧美一区二区三区成人| 色综合久综合久久综合久鬼88| 亚洲精品国产福利| 精品久久久久久中文字幕| 国产精品日韩精品| 亚洲男人的天堂网站| 国产精品永久免费视频| 成人美女av在线直播| 欧美黑人性生活视频| 日韩欧美国产一区二区| 中文字幕免费精品一区| 久久久精品久久久| 日韩极品精品视频免费观看| 国产精品扒开腿做爽爽爽男男| 亚洲国产欧美一区二区三区久久| 1769国内精品视频在线播放| 久久69精品久久久久久国产越南| 日韩激情视频在线播放| 久久精品视频在线观看| 亚洲直播在线一区| 欧美午夜性色大片在线观看| 中文字幕亚洲欧美日韩在线不卡| 亚洲国产91色在线| 日韩av观看网址| 国产欧美日韩高清| 久久视频在线免费观看| 成人a视频在线观看| 国语自产精品视频在线看抢先版图片| 欧美日韩在线免费观看| 国产在线观看91精品一区| 国产精品久久久久久久久久久不卡| 国产精品第七十二页| 欧美性视频在线| 欧美午夜www高清视频| 久久影视三级福利片| 91av在线免费观看| 亚洲男人天堂古典| 国产一区二区动漫| 国产欧美婷婷中文| 91av视频在线播放| 色爱精品视频一区| 亚洲精品日韩欧美| 国产99久久精品一区二区永久免费| 亚洲女同精品视频| 国产精品视频免费在线观看| 日本精品va在线观看| 日韩**中文字幕毛片| 亚洲人午夜精品免费| 亚洲午夜国产成人av电影男同| 亚洲国产成人精品久久久国产成人一区| 久久精品成人动漫| 国产成人黄色av| 日本在线观看天堂男亚洲| 国产玖玖精品视频| 97久久精品人搡人人玩|