首頁 php教程 php手册 值得收藏的10个PHP代码样例(黑名单\下载文件)

值得收藏的10个PHP代码样例(黑名单\下载文件)

May 23, 2016 am 09:54 AM
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 = &#39;A&#39;; break;  
			case 11: $randNum = &#39;B&#39;; break;  
			case 12: $randNum = &#39;C&#39;; break;  
			case 13: $randNum = &#39;D&#39;; break;  
			case 14: $randNum = &#39;E&#39;; break;  
			case 15: $randNum = &#39;F&#39;; break;  
		}  
		$str .= $randNum;  
	}  
	return $str;  
}  
$color = randomColor();
登入後複製

三、从网上下载文件,代码如下:

set_time_limit(0);  
// Supports all file types  
// URL Here:  
$url = &#39;http://somsite.com/some_video.flv&#39;;  
$pi = pathinfo($url);  
$ext = $pi[&#39;extension&#39;];  
$name = $pi[&#39;filename&#39;]; 
// 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.&#39;.&#39;.$ext;  
if(preg_match("/[^0-9a-z._-]/i", $saveFile))  
	$saveFile = md5(microtime(true)).&#39;.&#39;.$ext; 
$handle = fopen($saveFile, &#39;wb&#39;);  
fwrite($handle, $opt);  
fclose($handle);
登入後複製

四、Alexa/Google Page Rank,代码如下:

function page_rank($page, $type = &#39;alexa&#39;){  
	switch($type){  
		case &#39;alexa&#39;:  
			$url = &#39;http://alexa.com/siteinfo/&#39;;  
			$handle = fopen($url.$page, &#39;r&#39;);  
		break;  
		case &#39;google&#39;:  
			$url = &#39;http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info:&#39;;  
			$handle = fopen($url.&#39;http://&#39;.$page, &#39;r&#39;);  
		break;  
	}  
	$content = stream_get_contents($handle);  
	fclose($handle);  
	$content = preg_replace("~(n|t|ss+)~",&#39;&#39;, $content);  
	switch($type){  
		case &#39;alexa&#39;:  
			if(preg_match(&#39;~<div class="data (down|up)"><img  src="/static/imghw/default1.png"  data-src="&#39; . $gravatar_link . &#39;"  class="lazy" .+? alt="值得收藏的10个PHP代码样例(黑名单\下载文件) " >(.+?) </div>~im&#39;,$content,$matches)){  
				return $matches[2];  
			}else{  
				return FALSE;  
			}  
		break;  
		case &#39;google&#39;:  
			$rank = explode(&#39;:&#39;,$content);  
			if($rank[2] != &#39;&#39;)  
				return $rank[2];  
			else  
				return FALSE;  
		break;  
		default:  
			return FALSE;  
		break;  
	}  
}  
// Alexa Page Rank:  
echo &#39;Alexa Rank: &#39;.page_rank(&#39;techug.com&#39;);  
echo &#39;   
&#39;;  
// Google Page Rank  
echo &#39;Google Rank: &#39;.page_rank(&#39;techug.com&#39;, &#39;google&#39;);
登入後複製

五、强制下载文件,代码如下:

$filename = $_GET[&#39;file&#39;]; //Get the fileid from the URL  
// Query the file ID  
$query = sprintf("SELECT * FROM tableName WHERE id = &#39;%s&#39;",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[&#39;FileName&#39;]).";");  
	header("Content-Transfer-Encoding: binary");  
	header("Content-Length: ".filesize($row[&#39;FileName&#39;])); 
	@readfile($row[&#39;FileName&#39;]);  
	exit(0);  
}else{  
	header("Location: /");  
	exit;  
}
登入後複製

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

$gravatar_link = &#39;http://www.gravatar.com/avatar/&#39; . md5($comment_author_email) . &#39;?s=32&#39;; 
echo &#39;<img  src="/static/imghw/default1.png"  data-src="&#39; . $gravatar_link . &#39;"  class="lazy"   / alt="值得收藏的10个PHP代码样例(黑名单\下载文件) " >&#39;;
登入後複製

七、用cURL获取RSS订阅数,代码如下:

$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL,&#39;https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4&#39;); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2); 
$content = curl_exec($ch); 
$subscribers = get_match(&#39;/circulation="(.*)"/isU&#39;,$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] &#39;ago&#39; "; 
}
登入後複製

九、截取图片,代码如下:

$filename= "test.jpg"; 
list($w, $h, $type, $attr) = getimagesize($filename); 
$src_im = imagecreatefromjpeg($filename); 
$src_x = &#39;0&#39;;   // begin x 
$src_y = &#39;0&#39;;   // begin y 
$src_w = &#39;100&#39;; // width 
$src_h = &#39;100&#39;; // height 
$dst_x = &#39;0&#39;;   // destination x 
$dst_y = &#39;0&#39;;   // 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";
登入後複製


本文地址:

转载随意,但请附上文章地址:-)

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1668
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
如何利用php程式碼測試功能提高程式碼的可維護性 如何利用php程式碼測試功能提高程式碼的可維護性 Aug 11, 2023 pm 12:43 PM

如何利用PHP程式碼測試功能來提高程式碼的可維護性在軟體開發過程中,程式碼的可維護性是一個非常重要的方面。一個可維護性高的程式碼意味著它易於理解、易於修改且易於維護。而測試是非常有效的一種提高程式碼可維護性的手段。本文將介紹如何利用PHP程式碼測試功能來達到這個目的,並提供相關的程式碼範例。單元測試單元測試是軟體開發中常用的測試方法,用於驗證程式碼中最小的可測試單元。在P

如何使用正規表示式批量修改PHP程式碼以滿足最新的程式碼規格? 如何使用正規表示式批量修改PHP程式碼以滿足最新的程式碼規格? Sep 05, 2023 pm 03:57 PM

如何使用正規表示式批量修改PHP程式碼以滿足最新的程式碼規格?導言:隨著時間推移和技術的發展,程式碼規格也不斷更新和改進。在開發過程中,我們經常需要對舊有的程式碼進行修改以符合最新的程式碼規格。然而,手動修改可以是一項繁瑣且耗時的任務。在這種情況下,正規表示式可以成為一個有力的工具。利用正規表示式,我們可以批量修改程式碼並自動滿足最新的程式碼規格。一、準備工作:在使用正

PHP程式碼實作百度文心一言API介面的請求參數加密與解密處理 PHP程式碼實作百度文心一言API介面的請求參數加密與解密處理 Aug 16, 2023 pm 11:40 PM

PHP程式碼實現百度文心一言API介面的請求參數加密和解密處理一言(Hitokoto)是一個提供獲取隨機句子的服務,百度文心一言API是其中一個允許開發者呼叫的介面。為了確保資料的安全性,我們可以對請求參數進行加密處理,同時在接收到回應後進行解密操作。以下是PHP程式碼實作百度文心一言API介面的請求參數加密與解密處理的範例:&lt;?phpfunction

如何自動化檢查PHP程式碼是否符合最新的程式碼規格? 如何自動化檢查PHP程式碼是否符合最新的程式碼規格? Sep 06, 2023 pm 12:33 PM

如何使用工具自動化檢查PHP程式碼是否符合最新的程式碼規格?引言:在軟體開發過程中,我們經常需要遵循一定的程式碼規格來保障程式碼的可讀性、可維護性和可擴充性。但是,手動檢查程式碼規格是一項繁瑣且容易出錯的任務。為了提高效率和減少錯誤,我們可以使用一些工具來自動化檢查程式碼規格。在本文中,我將介紹如何使用一些流行的工具來自動化檢查PHP程式碼是否符合最新的程式碼規格。一、PH

PHP程式碼靜態分析與漏洞偵測技術 PHP程式碼靜態分析與漏洞偵測技術 Aug 07, 2023 pm 05:21 PM

PHP程式碼靜態分析與漏洞偵測技術引言:隨著網路的發展,PHP作為一種非常流行的伺服器端腳本語言,被廣泛應用於網站開發和動態網頁產生。然而,由於PHP語法靈活且不規範的特性,導致在開發過程中容易引入安全漏洞。為了解決這個問題,PHP程式碼靜態分析和漏洞偵測技術應運而生。一、靜態分析技術靜態分析技術是指在程式碼運行之前透過解析原始程式碼,使用靜態規則來識別潛在的安全性問

怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行? 怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行? Mar 10, 2024 pm 02:27 PM

怎樣在瀏覽器中編寫PHP程式碼並保持程式碼不被執行?隨著網路的普及,越來越多的人開始接觸網頁開發,其中對於PHP的學習也越來越受到關注。 PHP是一種在伺服器端運行的腳本語言,通常用於編寫動態網頁。然而,在練習階段,我們希望能夠在瀏覽器中編寫PHP程式碼並查看結果,但又不希望程式碼被執行。那麼,如何實現在瀏覽器中編寫PHP程式碼並保持不被執行呢?以下將詳細介紹。首先,

刨析php程式碼測試功能及其重要性 刨析php程式碼測試功能及其重要性 Aug 11, 2023 pm 03:12 PM

刨析php程式碼測試功能及其重要性前言:在軟體開發過程中,程式碼測試是一個不可或缺的環節。透過對程式碼進行測試,可以有效地發現及解決潛在的bug和錯誤,並提高程式碼的品質和穩定性。在php開發中,測試功能同樣具有重要性。本文將深入探討php程式碼測試的功能及其重要性,並結合實例進行說明。一、php程式碼測試的功能單元測試(UnitTesting)單元測試是最常見的測試方

調試 PHP 程式碼中的報錯和意外行為 調試 PHP 程式碼中的報錯和意外行為 Aug 12, 2023 pm 04:49 PM

標題:PHP程式碼調試:解析報錯和意外行為導言:在開發PHP應用程式時,調試是一個重要的技能。當我們的程式碼出現報錯或意外行為時,我們需要快速地定位問題並進行修復。本文將探討一些常見的PHP錯誤和意外行為,並給出對應的程式碼範例和偵錯方法。一、文法錯誤語法錯誤是最常見的錯誤之一。在PHP中,語法錯誤會導致整個腳本無法正常執行。下面是一個範例程式碼:&lt;?php

See all articles