Time of Update: 2016-07-29
1. 關於大小寫PHP內建的函數和結構是不區分大小寫。 如: 複製代碼 代碼如下: HelloPHP echo("Hello PHP"); ECHO("Hello PHP"); Echo("Hello PHP"); ?> 這三者的效果是一樣的。 其他,使用者自訂的類名和方法名也是不區分大小寫。 例如: 複製代碼 代碼如下: HelloPHP function Test() { echo("Hello PHP"); } Test(); TEST(); test(); ?>
Time of Update: 2016-07-29
1. AppServnetwork首先,我們先來下載PHP相關的一些東西。首先,我們來下載一整套PHP相關的工具——AppServnetwork。AppServ 2.5.10 php運行環境appserv 2.6.0 php運行環境安裝結束之後再開始菜單中會出現:讓我們首先啟動Apache。(Control Server by Service –>Apache
Time of Update: 2016-07-29
代碼 複製代碼 代碼如下:$url = 'www.baidu.com'; //抓取百度 echo snapshot($url); //輸出結果為圖片地址 echo snapshot($url, './baidu.png'); //將圖片儲存至本地baidu.png, 輸出內容圖片大小 /** * 產生網頁快照 * * @param string $site 目標地址 * @param string $path 儲存地址, 為空白則不儲存 * @param integer $dealy 延遲 *
Time of Update: 2016-07-29
比如分頁,因為有些連結已經有參數了,在附加分頁資訊的時候不能把原有的參數丟掉,所以判斷一下連結是否有參數,然後根據需要附加分頁資訊。 方法很簡單: 複製代碼 代碼如下:((strpos($url, '?') !== false) ? '&' : '?'); 檢查連結中是否含有 ? ,如果有,如: http://www.test.com/index.php?id=id 則直接在連結後面添加一個 & 然後跟上分頁資訊:
Time of Update: 2016-07-29
1.根據權重擷取關鍵字 複製代碼 代碼如下:function getkey($contents){ $rows = strip_tags($contents); $arr = array(' ',' ',"\s", "\r\n", "\n", "\r", "\t", ">", "“", "”"); $qc_rows = str_replace($arr, '', $rows); if(strlen($qc_rows)>2400){ $qc_rows =
Time of Update: 2016-07-29
複製代碼 代碼如下:header("Content-Type:text/html;charset=utf-8"); if (isset($_GET['number'])) { $url = 'http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo'; $number = $_GET['number']; $ch = curl_init(); curl_setopt($ch,
Time of Update: 2016-07-29
當然,可能存在多個根類,用來實現不同的功能. 在一個良好設計的體系中,每個根類都應該有一個有用的介面, 可以被應用代碼所使用. 如果我們的應用代碼被設計成與根類一起工作,那麼它也可以和任何一個從根類繼承出來的子類合作. 抽象方法是就像子類中一般的方法的預留位置(佔個地方但不起作用),它與一般方法不同—沒有任何代碼. 如果類中存在一個或更多抽象方法, 那麼這個類就成了抽象類別. 你不能執行個體化抽象類別. 你必須繼承它們,然後執行個體化子類. 你也可以把抽象類別看成是子類的一個模板.
Time of Update: 2016-07-29
一朋友找工作遇到的試題,備忘一下。 極有可能今後我也會遇到的。 問題:php不用內建函數對數組排序,可能是降序或者升序 第一種方法:傳說中的冒泡法 複製代碼 代碼如下:function arraysort($data, $order = 'asc') { //asc升序 desc降序 $temp = array (); $count = count ( $data ); if ($count return false; //傳入的資料不正確 if ($order == 'asc') { for(
Time of Update: 2016-07-29
認識並使用PHP超級全域變數 超級全域變數也叫做預定義變數,是PHP系統中內建的變數,它可讓你的程式設計更加的方便快捷。它的類型包括: $GLOBALS 包含一個引用指向每個當前指令碼的全域範圍內有效變數。該數組的鍵名為全域變數的名稱。從 PHP 3 開始存在 $GLOBALS 數組。 $_SERVER 變數由 網頁伺服器設定或者直接與當前指令碼的執行環境相關聯。類似於舊數組 $_GET 經由 URL 請求提交至指令碼的變數。 $_POST 經由 HTTP POST 方法提交至指令碼的變數。 $
Time of Update: 2016-07-29
mysql_query("BEGIN");//開始一個事務 mysql_query("SET AUTOCOMMIT=0"); //設定事務不自動commit $insert="INSERT INTO userinfo VALUES ('aa12','aa','1','aaa')"; mysql_query($insert); mysql_query("COMMIT");//非autocommit模式,必須手動執行COMMIT使操作生效 //mysql_query("SET AUTOCOMMIT=
Time of Update: 2016-07-29
1, 首先是bootstrap過程,初始化程式裡用到的資源2, 建立一個Zend_Controller_Front實體,實現front controller模式,這個實體類會負責將http請求派遣到恰當的controller的action裡。3, Front controller會建立倆個對象來封裝http請求和http回複,分別是Zend_Controller_Request_Http和Zend_Controller_Response_Http 4, Front
Time of Update: 2016-07-29
複製代碼 代碼如下:echo("search results for query:"). $_GET['query']."."; ?> 這段代碼的主要問題在於它把使用者提交的資料直接顯示到了網頁上,從而產生XSS漏洞。其實有很多方法可以填補這個漏洞。那麼,什麼代碼是我們想要的呢? 複製代碼 代碼如下:echo("search results for query:"). htmlspecialchars($_GET['query'])."."; ?>
Time of Update: 2016-07-29
很好的說明了addslashes和mysql_real_escape_string的區別,雖然國內很多PHP coder仍在依靠addslashes防止SQL注入(包括我在內),我還是建議大家加強中文防止SQL注入的檢查。addslashes的問題在於駭客可以用0xbf27來代替單引號,而addslashes只是將0xbf27修改為0xbf5c27,成為一個有效多位元組字元,其中的0xbf5c仍會被看作是單引號,所以addslashes無法成功攔截。
Time of Update: 2016-07-29
複製代碼 代碼如下:/* * 網站首頁超連結反查 友情連結查詢 外鏈查詢 * web技術愛好者 lost63.com原創 QQ:35501547 * 轉載請註明出處 */ if($_GET['action']=="check"){ $domain=$_POST['domain']; //網域名稱表單項為空白,則擷取地址欄參數 if($domain==""){ $domain=$_GET['domain']; } //網址 $url="http://".$domain;
Time of Update: 2016-07-29
複製代碼 代碼如下:header("Content-type:image/jpeg"); function read_url($str) { $file=fopen($str,"r"); while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); return $result; } function save_img($str) { $result=read_url($str); $result=str_replace("
Time of Update: 2016-07-29
規則 1:絕不要信任外部資料或輸入 關於 Web 應用程式安全性,必須認識到的第一件事是不應該信任外部資料。外部資料(outside data) 包括不是由程式員在 PHP 代碼中直接輸入的任何資料。在採取措施確保安全之前,來自任何其他來源(比如 GET 變數、表單 POST、資料庫、設定檔、會話變數或 cookie)的任何資料都是不可信任的。 對使用者輸入進行清理的一個簡單方法是,使用Regex來處理它。 規則 2:禁用那些使安全性難以實施的 PHP
Time of Update: 2016-07-29
複製代碼 代碼如下:/* 代碼功能:使用PHP巧妙將圖片按建立時間進行分類儲存; 圖片檔案屬性須取消唯讀屬性,否則無法刪除 By lost63 */ //延時設定 set_time_limit(0); $path='C:\恢複檔案\圖形$圖片\JPEG 映像 (.jpg)'; $result=dir($path); while($value=$result->read()){ if(strpos($value,'.JPG')==true||strpos($value,'.jpg')==true|
Time of Update: 2016-07-29
複製代碼 代碼如下:$memcachehost = 'localhost'; $memcacheport = '11211'; function microtime_float(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function runtime($t1){ return number_format((microtime_float() - $t1)*10
Time of Update: 2016-07-29
foreach 通過在 $value 之前加上 & 很容易就能修改數組的單元,如: PHP代碼 複製代碼 代碼如下:foreach($arr as $value){ $value .= '4'; } 但這個用法也很容易造成錯誤,而且也不容易找。 看例子更直截了當: PHP代碼 複製代碼 代碼如下:$arr = array('a','b','c'); $arr2 = array('d', 'e', 'f'); foreach($arr as $value){//習慣用$value或$val
Time of Update: 2016-07-29
因為PHP會在雙引號包圍的字串中搜尋變數,單引號則不會,注意:只有echo能這麼做,它是一種可以把多個字串當作參數的“函數”(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故把函數加上了雙引號)。 1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。 2、$row['id'] 的速度是$row[id]的7倍。 3、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字串串連,比如echo $str1,$str2。