Time of Update: 2016-11-23
在PHP中使用cURL寫了個簡單的方法,來擷取一個遠程檔案時.測試時遇到一個問題: 即,如果擷取遠程檔案時,需要進行跳轉後才能得到實際的檔案url,那麼擷取不能成功. 怎麼解決? 在Google的過程中看到這篇web: 對於php curl擷取301或302轉向的網址疑難 閱讀後,瞭解到解決方案,即通過curl_setopt()設定CURLOPT_FOLLOWLOCATION . 對於option
Time of Update: 2016-11-23
跨域POST(function($){window.isIE6=$.browser.msie && jQuery.browser.version==6.0;jQuery.extend({ajaxFormNums:0,ajaxFormPost:function(sURL, datas, callBack,domains){/*[sURL=提交地址, datas=要提交的資料對像,
Time of Update: 2016-11-23
因為靜態成員是在類第一次載入的時候就建立的,所以在類的外部不需要對象而使用類名就可以訪問的到靜態成員;靜態成員被這個類的每個執行個體對象所共用,那麼我們php語言使用對象可不可以訪問類中的靜態成員? 靜態成員不是在每個對象內部存在的,但是每個對象都可以共用,所以我們如果使用對象訪問成員的話就會出現沒有這個屬性定義,使用對象訪問不到靜態成員的,在其它的物件導向的語言中, Java是可以使用對象的方式訪問靜態成員的 類裡面的靜態方法只能訪問類的靜態屬性,在類裡面的靜態方法是不能訪問類的非靜態成員的,
Time of Update: 2016-11-23
有時候為了監控某個程式,需要定時任務。需要程式自動運行。1、ignore_user_abort()ignore_user_abort()函數搭配set_time_limit(0)和sleep($interval)即可實現程式自動運行更新。例子: //即使Client斷開(如關掉瀏覽器),PHP指令碼也可以繼續執行.ignore_user_abort();//
Time of Update: 2016-11-23
最全的數組函數介紹:http://cn2.php.net/manual/zh/book.array.php,常用備忘。 聲明:$array = array("id" => 1, "name" => "duanyong"); 得到所有鍵:$key = array_keys($array); 得到所有值:$values = array_values($array); 遍曆值和值:a. foreach ($array as
Time of Update: 2016-11-23
1、定時執行 就crontab了,linux命令,具體怎麼用,自己google。只想說一點,crontab的時候需要注意許可權,營運經常會用root來啟動,導致有些檔案web使用者無許可權。2、後台守護 分兩步:1需要在指令碼中寫死迴圈,因為php不像python,我一般是 do {....} while (true); 不過迴圈體裡面一般要加個sleep的,不然機器會被跑死;2啟動進程的時候需要在後面加個“&”
Time of Update: 2016-11-23
可以把在類中始終保持不變的值定義為常量。在定義和使用常量的時候不需要使用 $ 符號。常量的值必須是一個定值,不能是變數,類屬性,數學運算的結果或函數調用。介面(interface)中也可以定義常量。自 PHP 5.3.0 起,可以用一個變數來動態調用類。但該變數值不能為關鍵字(如 self,parent 或 static)。Example #1 定義和使用一個類常量class MyClass{ const constant = 1; function showConstant(){
Time of Update: 2016-11-23
建構函式 ¶void__construct ([ mixed$args [, $... ]] )PHP 5 允行開發人員在一個類中定義一個方法作為建構函式。具有建構函式的類會在每次建立新對象時先調用此方法,所以非常適合在使用對象之前做一些初始化工作。Note: 如果子類中定義了建構函式則不會隱式調用其父類的建構函式。要執行父類的建構函式,需要在子類的建構函式中調用parent::__construct()。如果子類沒有定義建構函式則會如同一個普通的類方法一樣從父類繼承(假如沒有被定義為
Time of Update: 2016-11-23
繼承已為大家所熟知的一個程式設計特性,PHP 的物件模型也使用了繼承。繼承將會影響到類與類,對象與對象之間的關係。比如,當擴充一個類,子類就會繼承父類所有公有的和受保護的方法。除非子類覆蓋了父類的方法,被繼承的方法都會保留其原有功能。繼承對於功能的設計和抽象是非常有用的,而且對於類似的對象增加新功能就無須重新再寫這些公用的功能。Note:除非使用了自動載入,否則一個類必須在使用之前被定義。如果一個類擴充了另一個,則父類必須在子類之前被聲明。此規則適用於類繼承其它類與介面。Example #1
Time of Update: 2016-11-23
範圍解析操作符(也可稱作 Paamayim Nekudotayim)或者更簡單地說是一對冒號,可以用於訪問靜態成員,類常量,還可以用於覆蓋類中的屬性和方法。當在類定義之外引用到這些項目時,要使用類名。自 PHP 5.3.0 起,可以通過變數來引用類,該變數的值不能是關鍵字(如 self,parent 和 static)。把 Paamayim Nekudotayim 選作雙冒號操作符的名字似乎有些奇怪。然而,這是 Zend 開發小組在寫 Zend Engine 0.5(被用於 PHP 3
Time of Update: 2016-11-23
本頁說明了用 static 關鍵字來定義靜態方法和屬性。static 也可用於定義靜態變數以及後期靜態繫結。聲明類屬性或方法為靜態,就可以不執行個體化類而直接存取。靜態屬性不能通過一個類已執行個體化的對象來訪問(但靜態方法可以)。為了相容 PHP 4,如果沒有指定存取控制,屬性和方法預設為公有。由於靜態方法不需要通過對象即可調用,所以偽變數 $this 在靜態方法中不可用。靜態屬性不可以由對象通過 -> 操作符來訪問。用靜態方式調用一個非靜態方法會導致一個 E_STRICT
Time of Update: 2016-11-23
在你引進某個類檔案的情況下,想調用這個類檔案的時call_user_func_array函數,下面根據參數不同,貼兩個執行個體: <?php $func = function($arg1, $arg2) { return $arg1 * $arg2; }; var_dump(call_user_func_array($func, array(2, 4))); /* As of PHP 5.0 */ ?>將輸出: int(8) [1] <
Time of Update: 2016-11-23
自 PHP 5.4.0 起,PHP 實現了代碼複用的一個方法,稱為 traits。Traits 是一種為類似 PHP 的單繼承語言而準備的代碼複用機制。Trait 為了減少單繼承語言的限制,使開發人員能夠自由地在不同階層內獨立的類中複用方法集。Traits 和類組合的語義是定義了一種方式來減少複雜性,避免傳統多繼承和混入類(Mixin)相關的典型問題。Traits 和一個類相似,但僅僅旨在用細粒度和一致的方式來組合功能。Trait
Time of Update: 2016-11-23
PHP所提供的"重載"(overloading)是指動態地"建立"類屬性和方法。我們是通過魔術方法(magic methods)來實現的。當調用當前環境下未定義或不可見的類屬性或方法時,重載方法會被調用。所有的重載方法都必須被聲明為
Time of Update: 2016-11-23
PHP 5 提供了一種定義對象的方法使其可以通過單元列表來遍曆,例如用 foreach 語句。預設情況下,所有可見屬性都將被用於遍曆。Example #1 簡單的對象遍曆class MyClass{ public $var1 = 1; public $var2 = 2; public $var3 = 3; protected $protected = 'protected var'; private $private = 'private
Time of Update: 2016-11-23
__construct(),__destruct(),__call(),__callStatic(),__get(),__set(),__isset(),__unset(),__sleep(),__wakeup(),__toString(),__invoke(),__set_state()和 __clone() 等方法在 PHP 中被稱為"魔術方法"(Magic methods)。在命名自己的類方法時不能使用這些方法名,除非是想使用其魔術功能。PHP 將所有以
Time of Update: 2016-11-23
PHP 5 可以使用類型約束。函數的參數可以指定必須為對象(在函數原型裡面指定類的名字),介面,數組(PHP 5.1 起)或者 callable(PHP 5.4 起)。不過如果使用NULL 作為參數的預設值,那麼在調用函數的時候依然可以使用 NULL 作為實參。如果一個類或介面指定了類型約束,則其所有的子類或實現也都如此。類型約束不能用於標量類型如 int 或 string。Traits 也不允許。Example #1 類型約束樣本<?php //如下面的類 class
Time of Update: 2016-11-23
自 PHP 5.3.0 起,PHP 增加了一個叫做後期靜態繫結的功能,用於在繼承範圍內引用靜態調用的類。準確說,後期靜態繫結工作原理是儲存了在上一個“非轉寄調用”(non-forwarding call)的類名。當進行靜態方法調用時,該類名即為明確指定的那個(通常在 :: 運算子左側部分);當進行非靜態方法調用時,即為該對象所屬的類。所謂的“轉寄調用”(forwarding call)指的是通過以下幾種方式進行的靜態調用:self::,parent::,static::
Time of Update: 2016-11-23
$GLOBALS['THRIFT_ROOT'] = '/data/center_a0001/www/libs/classes/Thrift/';require_once $GLOBALS['THRIFT_ROOT'] . 'packages/hive_service/ThriftHive.php';require_once $GLOBALS['THRIFT_ROOT'] .
Time of Update: 2016-11-23
<?php //$a = strtotime(date("Y-m-d H:i:s")); $a = strtotime(date("2012-5-28 17:50:51"));//自訂時間 $b = $a+24*3600;//24小時後的時間戳記的值 $d = $a-24*3600;//24小時前的時間戳記的值 echo date("Y-m-d H:i:s",$b);//24小時後的時間 echo "</br&