Time of Update: 2017-02-27
XMLParser.class.php<?php /** XML 檔案分析類 * Date: 2013-02-01 * Author: fdipzone * Ver: 1.0 * * func: * loadXmlFile($xmlfile) 讀入xml檔案輸出Array * loadXmlString($xmlstring) 讀入xmlstring 輸出Array */ class XMLParser{ /**
Time of Update: 2017-02-27
CSSUpdate.class.php<?php /** css 更新類,更新css檔案內圖片的版本 * Date: 2013-02-05 * Author: fdipzone * Ver: 1.1 * * Func: * update(); * * Ver: 1.1 增加search_child參數,可遍曆子檔案夾 */ class CSSUpdate{ private $csstmpl_path = null;
Time of Update: 2017-02-27
FindFile.class.php用於遍曆目錄檔案<?php /** 遍曆檔案夾及檔案類 * Date: 2013-03-21 * Author: fdipzone * Ver: 1.0 */class FindFile{ public $files = array(); // 儲存遍曆的檔案 protected $maxdepth; // 搜尋深度,0表示沒有限制 /*
Time of Update: 2017-02-27
將圖片縮成合適的尺寸,jpg圖片縮小比較容易,png圖片如果帶了透明色,按jpg方式來縮小,會造成透明色丟失。儲存透明色主要利用gd庫的兩個方法:imagecolorallocatealpha 分配顏色 + alphaimagesavealpha 設定在儲存png映像時儲存完整的 Alpha 色板資訊代碼如下://擷取源圖gd映像標識符 $srcImg = imagecreatefrompng('./source.png'); $srcWidth = imagesx($srcImg); $
Time of Update: 2017-02-27
功能:1.擷取內容中的url,email,image。2.替換內容中的url,email,image。url:<a href="url">xxx</a>email:admin@admin.comimage:<img src="image">Grep.class.php<?php /** grep class * Date: 2013-06-15 * Author: fdipzone * Ver:
Time of Update: 2017-02-27
php 支援斷點續傳,主要依靠HTTP協議中 header HTTP_RANGE實現。HTTP斷點續傳原理Http頭 Range、Content-Range()HTTP頭中一般斷點下載時才用到Range和Content-Range實體頭,Range使用者要求標頭中,指定第一個位元組的位置和最後一個位元組的位置,如(Range:200-300)Content-Range用於回應標頭請求下載整個檔案:GET /test.rar HTTP/1.1Connection: closeHost: 116.1
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