Time of Update: 2016-07-21
問題描述在載入頁面的時候, 將游標快速定位到搜尋欄上, 待頁面載入完成, 搜尋欄進行初始化後會顯示搜尋提示. 此時輸入的任何內容將成為搜尋提示的一部分而不是搜尋索引鍵. 如下: 導致原因搜尋欄的 JavaScript 初始化執行在 onload 的時候. 因為頁面圖片請求多, 完全載入需要 3 秒鐘左右, 並且搜尋欄的 tabindex 被設為 1, 搜尋優先的使用者很容易就能遇到. 以下是我根據自己的理解反編譯出來的 JS 代碼, 頁面在 onload 的時候將會執行
Time of Update: 2016-07-21
複製代碼 代碼如下: function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != “.” && $object != “..”) { if (filetype($dir.”/”.$object) == “dir”) rrmdir($dir.”/”.$object); else unlink($dir.”/”.$object)
Time of Update: 2016-07-21
一、資料庫操作 1. 串連MYSQL資料 mysql_connect() e.g. 複製代碼 代碼如下: $db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die(‘Unable to connect, please check connection paremeters'); 2. 選擇資料庫 mysql_select_db()
Time of Update: 2016-07-21
享元模式英文稱為“Flyweight Pattern”,我非常感謝將Flyweight Pattern翻譯成享元模式的那位強人,因為這個詞將這個模式使用的方式明白得表示了出來;如果翻譯成為羽量級模式或者蠅量級模式等等,雖然可以含蓄的表現出使用此模式達到的目的,但是還是沒有抓住此模式的關鍵。 享元模式的定義為:採用一個共用來避免大量擁有相同內容對象的開銷。這種開銷中最常見、直觀的就是記憶體的損耗。享元模式以共用的方式高效的支援大量的細粒度對象。
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 中介者模式 * * 用一個中介對象來封裝一系列的對象互動,使各對象不需要顯式地相互引用從而使其耦合鬆散,而且可以獨立地改變它們之間的互動 */ abstract class Mediator { abstract public function send($message,$colleague); } abstract class Colleague { private $_mediator = null; public function Colleague($
Time of Update: 2016-07-21
複製代碼 代碼如下: function array_add($a,$b){ //根據鍵名擷取兩個數組的交集 $arr=array_intersect_key($a, $b); //遍曆第二個數組,如果鍵名不存在與第一個數組,將數組元素增加到第一個數組 foreach($b as $key=>$value){ if(!array_key_exists($key, $a)){ $a[$key]=$value; } } //計算鍵名相同的數組元素的和,並且替換原數組中相同鍵名所對應的元素值
Time of Update: 2016-07-21
定義和用法 str_pad() 函數把字串填充為指定的長度。 文法 str_pad(string,length,pad_string,pad_type)參數 描述 string 必需。規定要填充的字串。 length 必需。規定新字串的長度。如果該值小於原始字串的長度,則不進行任何操作。 pad_string 可選。規定供填充使用的字串。預設是空白。 pad_type 可選。規定填充字串的那邊。 可能的值: STR_PAD_BOTH - 填充到字串的兩頭。如果不是偶數,則右側獲得額外的填充。
Time of Update: 2016-07-21
複製代碼 代碼如下: class dbClass{ //開始資料庫類 var $username; var $password; var $database; var $hostname; var $link; var $result; function dbClass($username,$password,$database,$hostname="localhost"){ $this->username=$username; $this->password=$password; $this-
Time of Update: 2016-07-21
配置環境 系統:win7 PHP版本:5.3.x MYSQL 版本:5.0.27 Apache:2.2.4 (Win32) 設定方法: 開啟D:\wamp\bin\apache\Apache2.2.17\conf\httpd.conf 在最後添加 NameVirtualHost *:80 DocumentRoot "D:\wamp\www\bbs" ServerName www.a.com 配置中應該注意: ServerName *:80 這裡的*可以改為本機ip比如192.168.1.11
Time of Update: 2016-07-21
複製代碼 代碼如下: /* *比較時間段一與時間段二是否有交集 */ function isMixTime($begintime1,$endtime1,$begintime2,$endtime2) { $status = $begintime2 - $begintime1; if($status>0){ $status2 = $begintime2 - $endtime1; if($status2>0){ return false; }else{ return true; } }else{
Time of Update: 2016-07-21
使用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("%.
Time of Update: 2016-07-21
1. 除去JavaScript注釋除了注釋,其他所有的 // or /* */ 注釋都可以安全刪除,因為它們對於最終使用者來說沒有任何意義。2. 除去JavaScript中的空白地區如:x = x + 1; 可以簡短得寫成:x=x+1; 。3. 進行代碼最佳化簡單的方法如除去暗示的(implied)分號,某些情形下的變數聲明或者空斷行符號語句都可以進一步減少指令碼代碼。一些簡略的表達方式也會產生很好的最佳化,例如:x=x+1; 可以寫成:x++; 不過得小心謹慎,不然代碼很容易出錯。4.
Time of Update: 2016-07-21
複製代碼 代碼如下: $db_host='hostname is database server '; $db_database='database name'; $db_username='username'; $db_password='password'; $connection=mysql_connect($db_host,$db_username,$db_password);//串連到資料庫 mysql_query("set names 'utf8'");//編碼轉化
Time of Update: 2016-07-21
PHP擷取檔案絕對路徑 複製代碼 代碼如下: echo __FILE__ ; // 取得當前檔案的絕對位址,結果:D:\www\test.php echo dirname(__FILE__); // 取得當前檔案所在的絕對目錄,結果:D:\www\ echo dirname(dirname(__FILE__)); //取得當前檔案的上一層目錄名,結果:D:\ ?> chdir() 函數 定義和用法 chdir() 函數把當前的目錄改變為指定的目錄。 若成功,則該函數返回 true,否則返回
Time of Update: 2016-07-21
複製代碼 代碼如下:$a=array('1','2','3','4','22'); $b=array('1','3','4','11','22','23'); f($a, $b, 5, 6, $t); print_r($t); function f(&$a, &$b, $n, $m, &$t){ $i=0;$j=0; while($iif($a[$i]==$b[$j]){ echo $a[$i]." ";//交集 $t[]=$a[$i++]; $t[]=$b[$j++]; }elseif($a[
Time of Update: 2016-07-21
1.編寫curl類,進行網頁內容抓取 複製代碼 代碼如下: class CurlUtil { private $curl; private $timeout = 10; /** * 初始化curl對象 */ public function __construct() { $this->curl = curl_init(); curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->curl,
Time of Update: 2016-07-21
需要操作的資料: 複製代碼 代碼如下: $test =Array ( [0] => stdClass Object ( [tags] => 最快的車,Bloodhound,SSC [id] => 48326888 ) ) 從網上查到的方法是 用get_object_vars 把類類型轉換成數組 然後在用 foreach 遍曆即可 $array = get_object_vars($test);
Time of Update: 2016-07-21
函數嵌套,這個名字有點糾結,也許不太好理解。一個比較常見的函數嵌套特例:遞迴函式,即函數自己嵌套自己。 一直以為在PHP中不能有太多的函數嵌套,這是因為在以前某些時候不小心用到了遞迴,在遞迴的深度達到100時, 即函數嵌套的層數達到100時,程式會報一個 Fatal error。如下樣本: 複製代碼 代碼如下: function rt() { static $i; echo $i++, ''; rt(); } rt(); die(); 在我的win7 + php5.3的環境下報錯如下:
Time of Update: 2016-07-21
複製代碼 代碼如下: /* * 登陸 */ public function Login(){ if($_POST['submit']){ $DB = D('Login');//自訂Model處理 //if裡面就是ThinkPHP的自動驗證了. if(!$DB->create()){ $this->redirect('Index/Login', '', 3, '錯誤資訊: '.$DB->getError().'系統將於3秒後返回重新登陸...'); }else{ $con['LoginName']
Time of Update: 2016-07-21
PHP架構可以是單一入口,完全物件導向的,完全基於類的MVC模式。但是,我們面對大量的舊的代碼,或即便是新的代碼,也不盡然完全符合物件導向的原則,符合設計模式。小的應用無妨。但如果面對大型應用,則必然是一個不小的疼痛!! 怎麼辦?很多人總會面臨這一切,PHP代碼需要重構。(當然,你要是能明白我所說的這一切,那你肯定是看過《重構——改善既有代碼的設計》這一本書) 看看這個連結:http://zh-cn.w3support.net/index.php?db=so&id=