Time of Update: 2017-01-19
調用mt_rand()這個方法可以產生隨機數字,參數是範圍的最小值和最大值,函數會返回最小值和最大值之間的一個隨機數字。要產生真正的隨機數,對於計算來說不是一件容易的事。php中兩種方法可以產生隨機數,一個經典的函數叫rand(),另一個更出色的函數是mt_rand()。例1 代碼如下$random =rand(0,1000);或者<?php $rand = mt_rand(1, 100); echo
Time of Update: 2017-01-19
在php中如果我要用substr()截取字串全英文的沒問題,如果包括有中文或英文就會悲劇了,但大家也
Time of Update: 2017-01-19
我們用到最多的類比POST請求幾乎都是使用php curl來實現了,沒考慮到PHP socket也可以實現,今天看到朋友寫了一文章,下面我來給大家分享一下PHP socket類比POST請求執行個體。以前類比post請求俺都用PHP curl擴充實現來著,沒想過PHP socket也可以實現。最近翻了下相關資料才發現原來沒有那麼高深,只是以前一直沒有完全理解post的原理和本質而已,其實就是發送給目的程式一個標誌為post的協議串如下:POST /目的程式url HTTP/1.1Accept:
Time of Update: 2017-01-19
本文執行個體講述了PHP中FTP相關函數。分享給大家供大家參考,具體如下:<?phpset_time_limit(0);//轉存本地地址define( 'STORE_PATH', dirname(__FILE__) . '/../../../../temp_data/test/');define('LIST_PATH', STORE_PATH . 'list/');define('CHAPTER_PATH', LIST_PATH .
Time of Update: 2017-01-19
本文執行個體為大家分享了PHP功能強大的 POST提交資料類,供大家參考,具體內容如下<?php class Request{ public static function post($url, $post_data = '', $timeout = 5){//curl $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_POST, 1); if($
Time of Update: 2017-01-19
本文執行個體講述了PHP實現自動識別原編碼並對字串進行編碼轉換的方法。分享給大家供大家參考,具體如下:/** * 對資料進行編碼轉換 * @param array/string $data 數組 * @param string $output 轉換後的編碼 * Created on 2016-7-13 */function array_iconv($data, $output = 'utf-8') { $encode_arr = array('UTF-8','ASCII','GBK','GB2
Time of Update: 2017-01-19
本文執行個體講述了PHP中類屬性與類靜態變數的存取方法。分享給大家供大家參考,具體如下:<?php/* PHP類屬性與類靜態變數的訪問 * Created on 2016-7-13 */class test{ const constvar='hello world'; static $staticvar='hello world'; function getStaticvar(){ return self::$staticvar; }}$obj=new test();echo
Time of Update: 2017-01-19
本文執行個體講述了php基於PDO串連MSSQL的方法。分享給大家供大家參考,具體如下:<?phptry { $hostname='117.79.93.222'; $port=1433;//連接埠 $dbname="csdn";//庫名 $username="csdn_admin";//使用者 $pw="123456";//密碼 $dbh= new PDO("dblib:host=$hostname:$port;dbname=$dbname","$username","
Time of Update: 2017-01-19
正常的網址帶上參數的那種可能會很長,尤其是我們在印刷紙質品如企業宣傳冊中要印上某個長的url的話非常難看,而且也沒幾個人會去記這個網址,雖然現在可以用掃二維碼的方式開啟長網址。但是人們可以使用短網址來實現優美的連結,尤其是有字數限制的應用如微博。短網址的實現原理就是有一個資料表會設定檔將短網址和實際網址進行對應,當請求某個短網址時,程式跳轉到對應的實際網址上去,從而實現網址的訪問。方案1:PHP+MySQl實現短網址的產生和讀取常規的方案我們將產生好的短網址和原網址對應到一張資料表中,然後供讀取
Time of Update: 2017-01-19
本文執行個體講述了php基於mcrypt_encrypt和mcrypt_decrypt實現字串加密解密的方法。分享給大家供大家參考,具體如下:由於出於安全考慮,參數傳遞的時候需要進行加密和解密,一個比較簡單的方法是直接使用php中的函數mcrypt_encrypt、mcrypt_decrypt,一個加密,一個解密,但是問題又出現了,這個加密過程中會產生一些使url混亂的符號,於是在加密後對加密字元再進行一次處理,然後多了一一次解析:$key =
Time of Update: 2017-01-19
本文執行個體講述了PHP簡單實現DES加密解密的方法。分享給大家供大家參考,具體如下:des加密:function des_encrypt($str, $key) { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return mcrypt_encrypt(MCRYPT_DES,
Time of Update: 2017-01-19
本文執行個體講述了php實現的debug log日誌操作類。分享給大家供大家參考,具體如下:<?phpclass Tool { public static function log($info) { $time = date('m-d H:i:s'); $backtrace = debug_backtrace(); $backtrace_line = array_shift($backtrace); // 哪一行調用的log方法
Time of Update: 2017-01-19
本文執行個體講述了PHP自訂函數擷取搜尋引擎來源關鍵字的方法。分享給大家供大家參考,具體如下:擷取搜尋引擎來源關鍵字的函數:function getKeywords() { // 搜尋引擎關鍵字映射 static $host_keyword_map = array( 'www.baidu.com' => 'wd', 'v.baidu.com' => 'word', 'image.baidu.com' => 'word', 'news.
Time of Update: 2017-01-19
本文執行個體講述了php處理帶有中文URL的方法。分享給大家供大家參考,具體如下:ie6超連結有中文的時候會有問題,萬惡的ie6啊.PHP使內建的urlencode函數也不行,urlencode把斜杠等ascii碼字元也給編碼了,還是不能解決問題,使用下面的函數可以解決這個問題.原理很簡單,就是把所有byte大於127的byte轉換為16進位.中文超連結位址// utf-8編碼$url =
Time of Update: 2017-01-19
本文執行個體講述了PHP實現JS中escape與unescape的方法。分享給大家供大家參考,具體如下:JavaScript中的escape和unescape是吧字串轉換為unicode十六進位編碼,跟JSON的編碼格式是一樣的,所以可以通過PHP中的json_encode和json_decode實現PHP版本的escape和unescape.代碼如下:<?phpfunction escape($str) { return str_replace('\\', '%',
Time of Update: 2017-01-19
本文執行個體講述了php處理複雜xml資料的方法。分享給大家供大家參考,具體如下:<?php$xml = <<< XML<?xml version="1.0" encoding="utf-8"?><epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Time of Update: 2017-01-19
本文執行個體講述了php的debug相關函數用法。分享給大家供大家參考,具體如下:loginfo函數:function loginfo($format) { $args = func_get_args(); array_shift($args); $d = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 1)[0]; $info = vsprintf($format, $args); $data = sprintf("%s %s,%d:
Time of Update: 2017-01-19
本文執行個體講述了php配置錯誤記錄檔的方法。分享給大家供大家參考,具體如下:php.ini:; 錯誤記錄檔log_errors = On; 顯示錯誤display_errors = Off; 日誌路徑error_log = "/usr/local/lnmp/php/var/log/error_log"; 錯誤等級error_reporting = E_ALL&~E_NOTICEphp-fpm.conf:[global]; php-fpm pid檔案pid =
Time of Update: 2017-01-19
本文執行個體分析了PHP進行批量任務處理不逾時的解決方案。分享給大家供大家參考,具體如下:PHP批量任務處理PHP在批量處理任務的時候會逾時,其實解決方案很簡單了,就是把任務分割,一次處理一部分,任務進度可以放在服務端也可以放在用戶端,不是很複雜的話放在用戶端,用js來處理就可以了.用戶端js回調處理用戶端處理的時候需要住一個地方,就是使用ajax處理的時候,ajax是非同步,使用for迴圈來處理的時候只是批量請求,這樣任務量大的時候會直接DDOS伺服器,所以需要等待回呼函數返回,然後進行下一次
Time of Update: 2017-01-19
本文執行個體講述了PHP封裝的資料庫儲存session功能類。分享給大家供大家參考,具體如下:PHP用資料庫儲存session類:<?phpclass SafeSessionHandler implements SessionHandlerInterface { public $save_path; public $session_name; public $table; public function __construct() { $this->table