複製代碼 代碼如下: function get_ip_place() { $ip=file_get_contents("http://fw.qq.com/ipaddress"); $ip=str_replace('"',' ',$ip); $ip2=explode("(",$ip); $a=substr($ip2[1],0,-2); $b=explode(",",$a); return $b; } 上面來自開源中國寫的真XXX,新聞我都不好意思發了,我們用Regex寫更簡單 來看看 複製代碼
代碼最佳化 複製代碼 代碼如下: for($i=0;$i<8;$i++){ array_push($week,$arr); } 複製代碼 代碼如下: for($i=0;$i<8;$i++){ $week[]=$arr[$i]; } //這樣就沒有了調用函數的額外負擔 建立索引的好處和壞處 好處:查詢時就會先去索引列表中一次定位到特定值的行數,大大減少遍曆匹配的行數 壞處:無論如何都要查詢此表,欄位大量重複值,增加索引也沒有什麼意義
PHP架構可以是單一入口,完全物件導向的,完全基於類的MVC模式。但是,我們面對大量的舊的代碼,或即便是新的代碼,也不盡然完全符合物件導向的原則,符合設計模式。小的應用無妨。但如果面對大型應用,則必然是一個不小的疼痛!!
幸好有301重新導向能有效解決這樣的問題。正如月光部落格這篇文章中說的, 301重新導向可促進搜尋引擎最佳化效果
google或者baidu一下,好多這樣的問題,解決的方法都是修改php.ini,把allow_url_fopen給啟用,改成 allow_url_fopen = On 這樣做可以解決某些人的問題,有人說在php.ini中,有這樣兩個選項:allow_url_fopen =on(表示可以通過url開啟遠程檔案),user_agent="PHP"(表示通過哪種指令碼訪問網路,預設前面有個 " ; " 去掉即可。)重啟伺服器。
當訪問者瀏覽受保護頁面時,用戶端瀏覽器會彈出交談視窗要求使用者輸入使用者名稱和密碼,對使用者的身份進行驗證,以決定使用者是否有權訪問頁面。下面用兩種方法來說明其實現原理。 一、用HTTP標題來實現
在使用php的curl擷取遠程檔案,代碼如下: 複製代碼 代碼如下: <? $ghurl = isset($_GET['id']) ? $_GET['id']:'http://www.baidu.com/'; // php 擷取 function getContents($url){ $header = array("Referer: http://www.baidu.com/"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,
curl_setopt (PHP 4 >= 4.0.2) curl_setopt -- 為CURL調用設定一個選項 描述 bool curl_setopt (int ch, string option, mixed value) curl_setopt()函數將為一個CURL會話設定選項。option參數是你想要的設定,value是這個選項給定的值。 下列選項的值將被作為長整形使用(在option參數中指定): CURLOPT_INFILESIZE:
PHP的數組函數眾多,下面是我學習的小結,藉此記之,便於以後鑒之…… 一、數組定義: 數組的定義使用 array()方式定義,可以定義空數組: .foreach遍曆: 複製代碼 代碼如下: <?php $number = array(1,3,5,7,9); //定義空數組 $result = array(); $color =array("red","blue","green"); //自訂索引值 $language =
當在php中使用mb_detect_encoding函數進行編碼識別時,很多人都碰到過識別編碼有誤的問題,例如對與GB2312和UTF- 8,或者UTF-8和GBK(這裡主要是對於cp936的判斷),網上說是由於字元短是,mb_detect_encoding會出現誤判。 例如: 複製代碼 代碼如下: $encode = mb_detect_encoding($keytitle, array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′)); if ($encode
我的通用許可權系統設計是更換許可權時候盡量不要涉及到代碼修改,來自chinaunix論壇,今天轉過來看看。希望對大家有所協助,對PHP100的朋友有個很高的提升。 複製代碼 代碼如下: /* *控制訪問表 * acl值 功能 * 1 需要登入 * 2 自身修改 * 4 需要組的許可權集合 * 8 需要身份訪問集合 * 16 身份被禁止訪問 * 32 可訪問的日期 * 64 可訪問的周日 * 128 可訪問的時間 * 256 輸入密碼才能訪問 * 5
使用filesize()函數命令實現檔案大小的統計,要求:1,以GB、MB、KB、B中的一個輸出;2.數量級必須大於1小於1024,並保留兩位小數; 開始動工: 複製代碼 代碼如下: $len = filesize("1.rmvb"); $i=4; while($i){ if(($out=$len/pow(1024,$i))>1.0||$i==1){ switch($i){ case 4: {printf("%.2f TB",$out);break;} case 3: {printf(
今天學習了數組,可以說是PHP的資料應用中較重要的一種方式。PHP的數組函數眾多,下面是我學習的小結,藉此記之,便於以後鑒之…… 一、數組定義: 數組的定義使用 array()方式定義,可以定義空數組: 複製代碼 代碼如下: <?php $number = array(1,3,5,7,9); //定義空數組 $result = array(); $color =array("red","blue","green"); //自訂索引值 $language =
返回一個交集共有元素的數組(只是數組值得比較)、array_intersect_assoc()函數是將索引值和值綁定,一起比較交集部分、array_intersect_key()函數是將兩個數組的索引值進行比較,返回索引值交集的數組。但實際應用中也遇到了一些小問題,正如下: 執行個體: 複製代碼 代碼如下: <?PHP $array =
//表單上傳只能使用multipart/form-data編碼格式 $_FILES系統函數; $_FILES['myFile']['name']檔案名稱 $_FILES['myFile']['type']檔案的類型,服務端進行限制 image/** image/x-png application/x-zip-compressed $_FILES['myFile']['size']上傳檔案大小 $_FILES['myFile']['tmp_name']上傳服務後儲存臨時檔案名稱 $_FILES['
修改時間格式: date("Y-m-d",strtotime($list['pubdate'])); 學習解釋:將時間放入strtotime為時間戳記後用date()轉化格式.下面寫了兩個函數的 PHP strtotime() 函數 strtotime() 函數將任何英文文本的日期時間描述解析為 Unix 時間戳記。 文法 strtotime(time,now)參數 描述 time 規定要解析的時間字串。 now 用來計算傳回值的時間戳記。如果省略該參數,則使用目前時間。 PHP Date()
PHP擷取檔案絕對路徑 複製代碼 代碼如下: <?php echo __FILE__ ; // 取得當前檔案的絕對位址,結果:D:\www\test.php echo dirname(__FILE__); // 取得當前檔案所在的絕對目錄,結果:D:\www\ echo dirname(dirname(__FILE__)); //取得當前檔案的上一層目錄名,結果:D:\ ?> chdir() 函數 定義和用法 chdir() 函數把當前的目錄改變為指定的目錄。
複製代碼 代碼如下: /*資料類型之間相互轉換 * 一種是強制轉換 * setType(變數,類型); //int,integer,float,double等等。 * 這個函數將原變數的類型改變,用var_dump();可以查看變數 * * 在賦值前使用(類型)的形式,不會改變原變數的類型 * $a=(int)"123abc"; * * $變數=intval(變數或值); * $變數=floatval(變數或值); * $變數=stringval(變數或值); * *
$t = time(); $t1 = mktime(0,0,0,date(“m”,$t),date(“d”,$t),date(“Y”,$t)); $t2 = mktime(0,0,0,date(“m”,$t),1,date(“Y”,$t)); $t3 = mktime(0,0,0,date(“m”,$t)-1,1,date(“Y”,$t)); $t4 = mktime(0,0,0,1,1,date(“Y”,$t)); $e1 =
如何準確的控制和判斷成了PHP中的一個“小問題”,下面是從書上摘抄下來的語句。 複製代碼 代碼如下: <?php $filename = "html/cache.txt"; $contents = "我是張斌"; if(is_writable($filename)){ if(($handle = fopen($filename,"a") )== false){ echo "寫入檔案 $filename 失敗"; exit(); } if(fwrite($handle,$contents)