10個超級有用、必須收藏的PHP代碼範例____PHP

來源:互聯網
上載者:User

作為一個正常的程式員,會好幾種語言是十分正常的,相信大部分程式員也都會編寫幾句PHP程式,如果是WEB程式員,PHP一定是必備的,即使你沒用它開發過大型軟體項目,也一定多少瞭解它的文法。


儘管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 . '" />';

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.