Time of Update: 2017-02-27
php 建構函式支援不同個數參數方法原理:在__construct中使用 func_num_args 擷取參數個數,再根據參數個數執行不同的調用。參數值使用func_get_arg() 方法獲得。demo:<?php class demo{ private $_args; public function __construct(){ $args_num = func_num_args(); // 擷取參數個數
Time of Update: 2017-02-27
SOAP 是基於XML和HTTP通訊協議,XML各個平台,各種語言都支援的一種語言。WSDL 是網路服務描述語言(Web Services Description Language),是一種使用XML格式的文檔。這種文檔可描述某個Web Service。可規定服務的位置,及服務提供的操作。不同語言之間需要通訊(例如:php,java,c),可以通過SOAP,WSDL使不同作業系統,不同技術的程式設計語言互相通訊。php soap 擴充安裝擴充位置在php安裝包的 ext/soap
Time of Update: 2017-02-27
遠端管理外掛程式是十分受WordPress網站管理員歡迎的工具,它們允許使用者同時對多個網站執行相同的操作,如,更新到最新的發行版或安裝外掛程式。然而,為了實現這些操作,用戶端外掛程式需要賦予遠端使用者很大的許可權。因此,確保管理伺服器和用戶端外掛程式之間的通訊安全且不能被攻擊者偽造就變得相當重要了。本文將談及幾款可用外掛程式,利用其弱點,攻擊者甚至可以完全危及到運行這些外掛程式的網站。ManageWP, InfiniteWP, and CMS
Time of Update: 2017-02-27
一 程式入口<?php // change the following paths if necessary $yii=dirname(__FILE__).'/http://www.cnblogs.com/framework/yii.php';$config=dirname(__FILE__).'/protected/config/main.php'; // remove the following line when in production mode//
Time of Update: 2017-02-27
原理:設定apache rewrite ,當圖片不存在時,調用php建立圖片。例如原圖路徑為:http://localhost/upload/news/2013/07/21/1.jpg縮圖路徑為:http://localhost/supload/news/2013/07/21/1.jpg當訪問 http://localhost/supload/news/2013/07/21/1.jpg
Time of Update: 2017-02-27
原理:通過<img>標標籤載入php檔案,php檔案會使用gd庫產生一張1x1px的空白透明圖片返回,並記錄傳遞的參數寫入log檔案。<img src="sitestat.php?url=www.domain.com&userid=1" />sitestat.php<?php // 擷取參數 $param = array(); $param['url'] = isset($_GET['url'])? $_GET['url'] : '
Time of Update: 2017-02-27
buffer是一個記憶體位址空間,linux系統預設大小一般為4096(4kb)。主要用於儲存速度不同步的裝置或優先順序不同的裝置之間傳遞資料的地區。通過buffer可以使進程之間的相互等待變少。例如,當你開啟一個文字編輯器,輸入一個字元時,系統並不會立即寫入磁碟。而是儲存在buffer中,當寫滿一個buffer時,才會把buffer的內容寫入磁碟。當然也可以使用flush強制將buffer的資料寫入磁碟。在php中,例如
Time of Update: 2017-02-27
原理:利用 ob_flush() 與 flush() 將緩衝區的內容提前輸出,瀏覽器可提早載入這部分的內容,無需等待所有輸出完成再載入。將頁面內容劃分為一個個小塊,輸出一個後再輸出下一個,使使用者可儘早看到頁面內容,最佳化使用者體驗。首先 head 的內容應該優先載入,儘早載入css,javascript等靜態內容,因此在head之後應該用 flush()輸出。例子:先輸出head 靜態內容,再將每個<p>分為一個chunk,每隔一秒輸出。<!DOCTYPE HTML
Time of Update: 2017-02-27
php 利用 fsockopen GET/POST 提交表單及上傳檔案1.GETget.php01.<?php 02.$host = 'demo.fdipzone.com'; 03.$port = 80; 04.$errno = ''; 05.$errstr = ''; 06.$timeout = 30; 07.$url = '/socket/getapi.php'; 08. 09.$param = array( 10. 'name' =>
Time of Update: 2017-02-27
HttpRequest.class.php<?php /** HttpRequest class, HTTP請求類,支援GET,POST,Multipart/form-data * Date: 2013-09-25 * Author: fdipzone * Ver: 1.0 * * Func: * public setConfig 設定串連參數 * public setFormdata 設定表單資料 * public
Time of Update: 2017-02-27
1.月份顯示/** 月份顯示 * @param int $m 1-12 * @param int $type 0:long 1:short(default) 2:chinese * @return String */function format_month($m, $type=0){ $month = array( array('', 'January', 'February', 'March',
Time of Update: 2017-02-27
PHP中,所有的變數都儲存在"符號表"的HastTable結構中,符號的範圍是與活動符號表相關聯的。因此,同一時間,只有一個活動符號表。我們要擷取到當前活動符號表可以通過 get_defined_vars 方法來擷取。get_defined_vars //
Time of Update: 2017-02-27
PHP擴充開發報錯解決[error: ‘PHP_FE_END’ undeclared here (not in a function)] .PHP擴充開發報錯解決[error: ‘PHP_FE_END’ undeclared here (not in a function)] .解決方案:進到php包的目錄sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c sed -i
Time of Update: 2017-02-27
php 對象複製,是複製對象的引用地址,因此使用 $objA = $objB 這種寫法時,$objA與$objB會指向相同的記憶體位址。當$objA 發生變化時,$objB也會受到影響。如果我們要$objA對象複製為$objB對象,複製之後,$objA有什麼變化,都不會影響$objB。即$objA與$objB是兩個獨立的對象,但$objB的初始值是由$objA建立的,比較高效的做法是使用clone()方法。$objB = clone
Time of Update: 2017-02-27
Cookies 操作類功能:1.儲存,讀取,更新,清除cookies資料。2.可設定首碼。3.強制逾時控制。4.cookies資料可以是字串,數組,對象等。Cookies.class.php<?php /** Cookies class 儲存,讀取,更新,清除cookies資料。可設定首碼。強制逾時。資料可以是字串,數組,對象等。 * Date: 2013-12-22 * Author: fdipzone * Ver: 1.0 * * Func: *
Time of Update: 2017-02-27
php 密碼產生類功能:1.可設定密碼長度。2.可設定要產生的密碼個數,批量產生。3.可以指定密碼的規則,字母,數字,特殊字元等。GeneratePassword.class.php<?php /** Generate Password class,根據指定規則產生password * Date: 2013-12-23 * Author: fdipzone * Ver: 1.0 * * Func: * public batchGenerate
Time of Update: 2017-02-27
main 與 iframe 相互連訊類之前寫過一篇《iframe與主架構跨域相互存取方法》,介紹了main與iframe相互連訊的原理,不瞭解原理的可以先看看。今天把main與iframe相互連訊的方法封裝成類,主要有兩個檔案,JS:FrameMessage.js 實現調用方法的介面,如跨域則建立臨時iframe,調用同域執行者。PHP:FrameMessage.class.php 實現接收到跨域請求時,根據參數返回執行方法的JS
Time of Update: 2017-02-27
php 非同步呼叫方法用戶端與伺服器端是通過HTTP協議進行串連通訊,用戶端發起請求,伺服器端接收到請求後執行處理,並返回處理結果。有時伺服器需要執行很耗時的操作,這個操作的結果並不需要返回給用戶端。但因為php是同步執行的,所以用戶端需要等待服務處理完才可以進行下一步。因此對於耗時的操作適合非同步執行,伺服器接收到請求後,處理完用戶端需要的資料就返回,再非同步在伺服器執行耗時的操作。1.使用Ajax 與 img 標記原理,伺服器返回的html中插入Ajax 代碼或 img
Time of Update: 2017-02-27
伺服器產生縮圖的時機一般分為兩種:1.上傳檔案時產生優點:上傳時就已經產生需要的縮圖,讀取時不需要再判斷,減少cpu運算。缺點:當縮圖尺寸變化時或新增尺寸時,需要重建所有的縮圖。2.訪問時產生優點:1.當有使用者訪問時才需要產生,沒有訪問的不用產生,節省空間的。2.當修改縮圖尺寸時,只需要修改設定,無需重建所有縮圖。缺點:當縮圖不存在需要產生時,高並發訪問會非常耗伺服器資源。雖然訪問時產生會有高並發問題,但其他優點都比第一種方法好,因此只要解決高並發問題就可以。關於如何根據url自動產生縮圖的原
Time of Update: 2017-02-27
php 提供的字串壓縮方法有1.gzcompress — Compress a stringThis function compress the given string using the ZLIB data format.2.gzencode — Create a gzip compressed stringThis function returns a compressed version of the input data compatible