Time of Update: 2017-02-27
先看一個例子,功能:1.點擊頁面中一個按鈕,ajax執行php,php中用session記錄執行到哪一步。2.使用ajax輪詢另一個php,擷取session中資料,輸出執行到哪一步。session.html 調用php執行,並輸出執行到第幾步<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Time of Update: 2017-02-27
水仙花數是指一個n位元(n>=3),它每個位上數位n次冪之和等於它本身,n為它的位元。(例如:1^3+5^3+3^3 = 153)水仙花數又稱阿姆斯特朗數。三位的水仙花數有4個:153,370,371,407四位的水仙花數有3個:1634,8208,9474五位的水仙花數有3個:54748,92727,93084六位的水仙花數有1個:548834七位的水仙花數有4個:1741725,4210818,9800817,9926315八位的水仙花數有3個:24678050,24678051,88
Time of Update: 2017-02-27
社會安全號碼碼的結構社會安全號碼碼是特徵組合碼,由17位元字本體碼和一位校正碼組成。排列順序從左至右依此為:六位元字地址碼,八位元字出生日期碼,三位元字順序碼和一位元字校正碼。地址碼(前六位元)表示編碼對象常住戶口所在縣(市、旗、區)的行政區劃代碼,按GB/T2260的規定執行。出生日期碼(第七位至十四位)表示編碼對象出生的年、月、日,按GB/T7408的規定執行,年、月、日代碼之間不用分隔字元。順序碼(第十五位至十七位)表示在同一地址碼所標識的地區範圍,對同年、同月、同日出生的人編定的順序號,
Time of Update: 2017-02-27
php unserialize 返回false的解決方案php 提供serialize(序列化) 與unserialize(還原序列化)方法。使用serialize序列化後,再使用unserialize還原序列化就可以擷取原來的資料。<?php $arr = array( 'name' => 'fdipzone', 'gender' => 'male'); $str = serialize($arr); //序列化 echo
Time of Update: 2017-02-27
<?php /** Captcha 驗證碼類 * Date: 2011-02-19 * Author: fdipzone */ class Captcha{ //class start private $sname = ''; public function __construct($sname=''){ // $sname captcha session name $this->sname =
Time of Update: 2017-02-27
PHP接收二進位流並組建檔案的代碼<?php /** 二進位流組建檔案 * $_POST 無法解釋二進位流,需要用到 $GLOBALS['HTTP_RAW_POST_DATA'] 或 php://input * $GLOBALS['HTTP_RAW_POST_DATA'] 和 php://input 都不能用於 enctype=multipart/form-data * @param String $file 要產生的檔案路徑 *
Time of Update: 2017-02-27
DataReturn.class.php<?php /** 返回資料格式化類* Date: 2011-08-15 * Author: fdipzone */ class DataReturn{ // class start private $type; private $xmlroot; private $callback; private $returnData; public
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
在伺服器安裝 sendmailsudo apt-get install sendmail啟動 sendmailsudo /etc/init.d/sendmail start修改 php.ini[mail function] SMTP = localhost smtp_port = 25 sendmail_from = me@example.comFunction sendMail<?php /* 調用PHPMailer發送電郵 * @param String
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