本文章下面我們要為你提供二種關於遍曆對象屬性方法,並且舉例說明遍曆對象屬性在php中的應用。可以看出私人變數與靜態變數時擷取不到的,只有定義為公開變數才可以讀出來。 遍曆對象屬性第一種方法: 複製代碼 代碼如下: class foo { private $a; public $b = 1; public $c; private $d; static $e; public function test() { var_dump(get_object_vars($this)); } } $test =
一、 將PHP.ini中以下幾個參數前面的“;”去掉: 複製代碼 代碼如下: ;extension=php_dba.dll ;extension=php_gd2.dll ;extension=php_mbstring.dll ;extension=php_mcrypt.dll ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_pdo.dll ;extension=php_pdo_mysql.dll
//儲存圖片到資料庫的php代碼 複製代碼 代碼如下: If($Picture != "none") { $PSize = filesize($Picture); $mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize)); mysql_connect($host,$username,$password) or die("Unable to connect to SQL server");
做一個普通的動畫效果,js是怎麼完成的呢.看一下例子 複製代碼 代碼如下: setInterval(function(){ element.style.left =parseFloat(element.style.left) +(n) +'px'; },10); test [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 用window.setInterval 動畫函數 ,每隔10毫秒 都會去執行一次動畫 ; 和 set配套的是 clearInterval
如果要用php的畫圖函數,首先要啟用這個模組的功能。就是把php.ini中php_gd2.dll前面的注釋去掉就好了。 下面開始畫圖: 複製代碼 代碼如下: session_start(); //產生驗證碼圖片 Header("Content-type: image/PNG"); $im = imagecreate(44,18); // 畫一張指定寬高的圖片 $back = ImageColorAllocate($im, 245,245,245); // 定義背景顏色
1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情況下,盡量用 file_get_contents,因為他的效率高得多!但是要注意file_get_contents在開啟一個URL檔案時候的PHP版本問題; 2.盡量的少進行檔案操作,雖然PHP的檔案操作效率也不低的; 3.最佳化Select SQL語句,在可能的情況下盡量少的進行Insert、Update操作(在update上,我被惡批過);
所以工作的第一步就是要將資料從excel中取出來。這裡我使用到了一個開源php處理excel類:phpexcel. 該項目的詳細資料 http://phpexcel.codeplex.com/ 。 我目前使用的是phpexcel1.7.3版本, 解壓縮后里面有一個PHPExcel和PHPExcel.php檔案。 我們主要使用那個PHP檔案。見檔案目錄結構 這個版本據說是可以支援excel2007,但是我使用2007編輯的xlsx是無法獲得該庫的支援。於是乎我就將它轉化為2003。感覺支援地很好。
作業系統:Windows 7 Ultimate WEB伺服器:IIS 6.1(組建7600)。 資料庫:MySql5.0.67 PHP版本:5.2.13 我還擔心Win7下可能會不相容,結果是一點問題都沒有。 一、安裝MySql資料庫 MySql資料庫在這裡下載:http://www.mysql.com/downloads/ 用戶端工具Navicat(導航貓)在這裡下載:http://www.navicat.com/cn/download/
在PHP中數組分為兩類: 數字索引數組和關聯陣列。 其中數字索引數組和C語言中的數組一樣,下標是為0,1,2… 而關聯陣列下標可能是任意類型,與其它語言中的hash,map等結構相似。 下面介紹PHP中遍曆關聯陣列的三種方法: 方法1:foreach 複製代碼 代碼如下: $sports = array( 'football' => 'good', 'swimming' => 'very well', 'running' => 'not good'); foreach ($sports as $
書中的例子都比較淺顯易懂,不過由於是外國佬寫的,所以例子的習慣不是很附合中國特色,可能偶爾看起來有些彆扭,還有語言習慣也不是中國風。當然��看過這本書之後,你才能深刻理解設計模式到底能為你解決哪些問題,不能為你解決哪些問題(比如不能代替你的編碼)。 我將書中部分代碼改成PHP,看下代碼再配合概念應該是比較容易理解了。 策略模式 複製代碼 代碼如下: /** * 策略模式 * 定義了演算法族,分別封裝起來,讓它們之間可以互相替換, *
1.PDO簡介 PDO(PHP Data Object) 是PHP 5 中加入的東西,是PHP 5新加入的一個重大功能,因為在PHP 5以前的php4/php3都是一堆的資料庫擴充來跟各個資料庫的串連和處理,什麼 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。 PHP6中也將預設使用PDO的方式串連,mysql擴充將被作為輔助 2.PDO配置
複製代碼 代碼如下: // 說明:擷取 _SERVER['REQUEST_URI'] 值的通用解決方案 function request_uri() { if (isset($_SERVER['REQUEST_URI'])) { $uri = $_SERVER['REQUEST_URI']; } else { if (isset($_SERVER['argv'])) { $uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0]; } else {
php自動載方法有兩種. 第一種方案用__autoload,這個函數較簡單,也較弱. 但有一問題沒有解決, 就是在include前判斷檔案是否存在的問題. 複製代碼 代碼如下: set_include_path('aa' . PATH_SEPARATOR . get_include_path()); function __autoload($className) { //如果加這個檢測, 因為此檔案不在目前的目錄下,它就會檢測不到檔案存在, //但include是能成功的 if
這是擴充yibing的select預設選擇的實現方法 複製代碼 代碼如下: value="1">住宅 value="2">辦公室 value="3">營業房 value="4">廠房 value="5">倉庫 value="6">地塊 value="7">綜合樓 value="8">農牧場 value="9">商住樓 value="10">賓館酒樓 value="11">校舍 radio單選框的預設選擇實現 複製代碼 代碼如下: >空白 >出讓 >劃撥 >集體
整個安裝流程如下: 1,首先安裝apache:我安裝的版本是: httpd-2.2.16-win32-x86-openssl-0.9.8o.msi 網址:http://www.apache.org/dist/httpd/binaries/win32/ apache安裝和配置比較順利,沒什麼好說的。 變更檔路徑的方法: 在檔案的安裝目錄下,我的是:D:\Program Files\Apache Software
看看下面的執行個體: 複製代碼 代碼如下: function Test() { $w3sky = 0; echo $w3sky; $w3sky++; } ?> 本函數每次調用時都會將 $w3sky 的值設為 0 並輸出 "0"。將變數加一的 $w3sky++ 沒有其到效果,因為一旦退出本函數則變數 $w3sky 就不存在了。要寫一個不會丟失本次計數值的計數函數,要將變數 $w3sky 定義為靜態(static)的: 如下: 複製代碼 代碼如下: function Test() {
主要區別是兩個或者多個數組中如果出現相同鍵名,鍵名分為字串或者數字,需要注意 1)鍵名為數字時,array_merge()不會覆蓋掉原來的值,但+合并數組則會把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋) 2)鍵名為字元時,+仍然把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時會覆蓋掉前面相同鍵名的值 需要注意的是數組鍵形式 '數字' 等價於 數字 複製代碼 代碼如下: $a = array(
複製代碼 代碼如下:function get_referer(){ $se = 0; $url = $_SERVER["HTTP_REFERER"]; //擷取完整的來路URL $str = str_replace("http://","",$url); //去掉http:// $strdomain = explode("/",$str); // 以“/”分開成數組 $domain = $strdomain[0]; //取第一個“/”以前的字元 if(strstr($domain,'baidu.
integer 可以已10進位,8進位,16進位表示。 用八進位表示的時候,數字需要已0(零)開頭; 用十六進位表示的時候,數字需要已0x(零x)或者0X(零大寫X)開頭; integer 溢出: integer溢出的時候,會自動的轉化為float類型。同樣的,如果integer類型的操作結果溢出了integer類型的邊界,也會自動轉化為float類型。 需要注意的一點就是,integer類型沒有"/"
為了相容PHP4,如果沒有指定“可見度”,屬性和方法預設為public。 由於靜態方法不需要通過對象即可調用,所以偽變數$this在靜態方法中不可用。 靜態屬性也可以由對象通過->操作符來訪問。 用::方式調用一個非靜態方法會導致一個E_STRICT層級的錯誤。 就像其它所有的PHP靜態變數一樣,靜態屬性只能被初始化為一個字元值或一個常量,不能使用運算式。 所以你可以把靜態屬性初始化為整型或數組,但不能指向另一個變數或函數傳回值,也不能指向一個對象。