中山php|最優網絡 :中山做網站 中山php建站
最優良人
Posts Tagged With: php
PHP使用PDO進行跨數據庫操作
2011/08/15 at 00:58 » Comments (25)
PDO(PHP Data Object) 是PHP 5新出來的東西,在PHP 6都要出來的時候,PHP 6只默認使用PDO來處理數據庫,將把所有的數據庫擴展移到了PECL。 為了掌握 PDO,需要了解 5 個關鍵概念。這 5 個概念是: 連接和連接管理 事務和自動提交 預處理語句和存儲過程 錯誤和錯誤處理 特定于驅動程序的功能性,包括 滾動游標 和 大型對象 以下是一些簡單的例子 /* * PDO::query() 主要是用于有記錄結果返回的操作,特別是SELECT操作 PDO::exec() 主要是針對沒有結果集合返回的操作,如INSERT、UPDATE等操作 PDO::lastInsertId() 返回上次插入操作,主鍵列類型是自增的最后的自增ID PDOStatement::fetch() 是用來獲取一條記錄 ...more »php關于session使用中需要注意的地方
2011/08/14 at 01:36 » Comments (216)
1,session的注銷 清除session變量所有的值,應該使用$_SESSION=array(); 而不是$_SESSION=null或者unset($_SESSION); 需要銷毀session節省開銷的時候,可以使用session_unset() ,session_destroy()。兩者的區別: session_unset() 釋放當前在內存中已經創建的所有$_SESSION變量,但不刪除session文件以及不釋放對應的session id session_destroy() 刪除當前用戶對應的session文件以及釋放session id,內存中的$_SESSION變量內容依然保留 徹底銷毀session正確的順序是 session_unset(); session_destroy(); 2,$_SESSION[$key],session的鍵值$key必須符合php變量的定義規則,即不能以數字或特殊符合開頭。 more »PHP設置頁面編碼的兩種方法
2011/08/13 at 18:06 » Comments (194)
php輸出頁面時,設置頁面的編碼有兩種方式 1:輸出meta標簽: echo '<META http-equiv="content-type" content="text/html; charset=utf-8">'; 2:使用header函數 header("content-type:text/html; charset=utf-8"); more »php字符串首字母轉換大小寫
2011/08/13 at 18:04 » Comments (19)
首字母變大寫:ucwords() <?php $foo = 'hello world!'; $foo = ucwords($foo); // Hello World! $bar = 'HELLO WORLD!'; $bar = ucwords($bar); ...more »PHP顯示客戶端IP與服務器IP
2011/08/07 at 02:10 » Comments (433)
打印客戶端IP:echo $_SERVER['REMOTE_ADDR']; 或者: getenv('REMOTE_ADDR'); 當時當客戶端使用代理訪問,那取到的是代理服務器的 IP 地址,而不是真正的客戶端 IP 地址。所以比較準確的獲取客戶ip的方法是: function getip(){ if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ ...more »PHP static靜態變量
2011/08/07 at 02:07 » Comments (330)
什么是static靜態變量? 靜態變量 類型說明符是static。 靜態變量屬于靜態存儲方式,其存儲空間為內存中的靜態數據區(在靜態存儲區內分配存儲單元),該區域中的數據在整個程序的運行期間一直占用這些存儲空間(在程序整個運行期間都不釋放),也可以認為是其內存地址不變,直到整個程序運行結束(相反,而auto自動變量,即動態局部變量,屬于動態存儲類別,占動態存儲空間,函數調用結束后即釋放)。靜態變量雖在程序的整個執行過程中始終存在,但是在它作用域之外不能使用。 另外,屬于靜態存儲方式的量不一定就是靜態變量。 例如:外部變量(在PHP中指全局變量)雖屬于靜態存儲方式,但不一定是靜態變量,必須由 static加以定義后才能成為靜態外部變量,或稱靜態全局變量。 所有的全局變量都是靜態變量,而局部變量只有定義時加上類型修飾符static,才為局部靜態變量。 靜態變量可以在任何可以申請的地方申請,一旦申請成功后,它將不再接受其他的同樣申請。 靜態變量并不是說其就不能改變值,不能改變值的量叫常量。 其擁有的值是可變的 ,而且它會保持最新的值。說其靜態,是因為它不會隨著函數的調用和退出而發生變化。即上次調用函數的時候,如果我們給靜態變量賦予某個值的話,下次函數調用時,這個值保持不變。 一、靜態局部變量: 1、Static類內部變量同auto自動變量(即未加 Static 聲明的局部變量)一樣,是某個特定函數的局部變量,即只能在定義該變量的函數內使用該變量,2者作用域相同;兩者的不同在于:auto自動變量會隨著函數被調用和退出而存在和消失,而static類局部變量不會,它不管其所在的函數是否被調用,都將一直存在;不過,盡管該變量還繼續存在,但不能使用它。倘若再次調用定義它的函數時,它又可繼續使用,而且保存了前次被調用后留下的值。換言之,Static類型的內部變量是一種只能在某個特定函數中使用,但一直占據存儲空間的變量。 2、函數體內如果在定義靜態變量的同時進行了初始化,則以后程序不再進行初始化操作(出現在函數內部的基本類型的的靜態變量初始化語句只有在第一次調用才執行)。而對自動變量賦初值是在函數調用時進行,每調用一次函數重新給一次初值,相當于執行一次賦值語句。 3、靜態局部變量的初始化表達式必須是一個常量或者常量表達式。即使局部靜態變量定義時沒有賦初值,系統會自動賦初值0(對數值型變量)或空字符(對字符變量);靜態變量的初始值為0。而對自動變量auto來說,如果不賦初值則它的值將是個不確定的值。 4、當多次調用一個函數且要求在調用之間保留某些變量的值時,可考慮采用靜態局部變量。雖然用全局變量也可以達到上述目的,但全局變量有時會造成意外的副作用,因此仍以采用局部靜態變量為宜。 注:局部靜態變量占用內存時間較長,并且可讀性差,因此,除非必要,盡量避免使用局部靜態變量。 二、靜態全局變量 全局變量(外部變量)的說明之前再冠以static 就構成了靜態的全局變量。 全局變量本身就是靜態存儲方式,靜態全局變量當然也是靜態存儲方式。 這兩者在存儲方式上并無不同。 這兩者的區別雖在于: 1、非靜態全局變量的作用域是整個源程序,當一個源程序由多個源文件組成時,非靜態的全局變量在各個源文件中都是有效的。 2、靜態全局變量則限制了其作用域, 即只在定義該變量的源文件內有效,在同一源程序的其它源文件中不能使用它。 從以上分析可以看出———— 把局部變量改變為靜態變量后是改變了它的存儲方式,即改變了它的生存期。 把全局變量改變為靜態變量后是改變了它的作用域,限制了它的使用范圍。static靜態變量會被放在程序的全局存儲區中(即在程序的全局數據區,而不是在堆棧中分配,所以不會導致堆棧溢出),這樣可以在下一次調用的時候還可以保持原來的賦值。這一點是它與堆棧變量和堆變量的區別。 三應用于PHP中 //--------------如何理解static靜態變量-----------。 //普通局部變量 function local(){ $loc = 0; //這樣,如果直接不給初值0是錯誤的。 ++$loc; echo $loc.'<br>'; } local(); //1 local(); //1 local(); //1 echo '===================================<br/>'; //static靜態局部變量 function static_local(){ static $local = 0 ; //此處可以不賦0值 $local++; echo ...more »php過濾敏感字符的一些相關函數--魔法函數應用
2011/08/07 at 02:01 » Comments (345)
一,首先,先來看一下php.ini的兩個配置參數 magic_quotes_gpc "1" PHP_INI_PERDIR PHP_INI_ALL in PHP more »