Time of Update: 2018-07-24
本文將從一個測試人員的角度對 PHP 官方的自動化測試方法,自動化測試架構結構,以及具體的實現進行分析和研究。通過實際的例子,向讀者展示 PHP 是如何?有效自動化測試以保證其代碼高品質的。讀者通過閱讀本文,可以學習 PHP 官方自動化測試方法和實現,並將這種自動化測試方法應用到自己的開發過程中,提高代碼功能品質。 PHP 官方自動化測試方法簡述 以下介紹以 PHP 最新官方版本 5.2.8 的源碼在 LINUX 系統平台上的分析為例展開。首先來看一下 PHP
Time of Update: 2018-07-24
需要開發擴充的情境: 1)應用非常注重效率,如複雜的映像演算法,需要編寫成擴充模組 2)有些系統調用不能用PHP直接存取,比如Linux下的fork函數建立一個進程,需要編寫擴充 3)需要商業化一個應用,又不想暴露源碼 一,搭建PHP架構 1 先瞭解下PHP的來源目錄吧 ext:存放動態和內建模組的目錄,在這裡可以找到所有的官方擴充,以後也會在這裡放新的擴充
Time of Update: 2018-07-24
1)ZendGuardLoader 用最佳化代碼的方法來提高php應用程式的執行速度;PHP源碼加密; 2)ioncube_loaders PHP源碼加密; 3)php-imagick、php-gmagick 圖片處理,功能強於GD庫 4)php-memcached、php-redis 資料庫緩衝,需要調整代碼結構 5)xcache PHP緩衝,不需要調整代碼 一般會選擇xcache+memcached、redis組合 6)php-mongodb
Time of Update: 2018-07-24
<?phpnamespace App\Http\Controllers\Common;use QrCode;use Session;use App\AppsVersions;use App\Apps;class UtilController{ /** * 儲存icon 到對應的應用下面 * @param [type] $icon [description] * @return [type] [description] */
Time of Update: 2018-07-24
本地服務啟動無任何異常,但是c++用戶端 請求 pph伺服器結果一直格式無法解析,但是使用postMan等測試載入器均正常,php返回之前結果,肉眼看確實木有問題。 起先覺得有點怪,但是抓包結果中也是現實結構前面多了一點東西,這特麼就尷尬了不是,一看就知道是編碼問題,但是,,, 我用Python實現了下, """驗證登入"""def on_req_login(self, uname, upwd,
Time of Update: 2018-07-24
檔案下載很簡單: 可以使用在html中的超連結跳轉到檔案進行下載: <?php echo '<a href = "http://www.localhost/download/1.zip">下載</a>';?>使用方法是使用者直接在瀏覽器點擊超連結。 但是這種下載方法有一定問題:有些瀏覽器能直接識別的資料類型,如文本,部分映像等。將直接在瀏覽器中顯示而不是下載。 所以通常不使用這種方法。
Time of Update: 2018-07-24
需求:只需要將日誌記錄到檔案中。(日誌系統第一版 ) /** * 日誌系統第一版 * @author ranping */class LogModel {private $logId;private $operateUser;private $operateTime;private $logContent;public function getLogId() {return $this->logId;}public function
Time of Update: 2018-07-24
理清思路: 引入了兩個概念:塊(block)和片(chunk)。每個塊由一到多個片組成,而一個資源則由一到多個塊組成 塊是服務端的永久資料存放區單位,片則只在分區上傳過程中作為臨時儲存的單位。服務端會以約一個月為單位周期性的清除上傳後未被合并為塊的資料片 實現過程: 將檔案分割,分區上傳,然後合并 前端核心code: var fileForm = document.getElementById("file"); var
Time of Update: 2018-07-24
<?phpclass ChinaPizzaA { public function __construct () { print_r('create ChinaPizzaA instance'); } public function cook () { print_r('cooking ChinaA pizza!'); } public function box () { print_r('boxing
Time of Update: 2018-07-24
<?php //資料庫連接 $conn = mysql_connect('localhost', 'root', ''); mysql_select_db('test', $conn); mysql_query("SET NAMES GBK"); /* 支援事務的表必須是InnoDB類型 一段事務中只能出現一次: mysql_query('START TRANSACTION');//開始事務
Time of Update: 2018-07-24
1.echo比print要快很多。兩個方法都會在頁面上列印東西,不過echo不返回任何值,print會在成功或失敗的時候返回0或1。 2.include_once比include更加耗時。因為它需要去檢查你要包含的class是否已經被包含進來。 3.對於長段落的字串一定要使用單引號,而不是雙引號。因為雙引號會去搜尋字串中的變數。比如:echo ‘This is long string’.$name就比echo “This is long string $name”要快很多。 4
Time of Update: 2018-07-24
一、公開金鑰加密 假設一下,我找了兩個數字,一個是1,一個是2。我喜歡2這個數字,就保留起來,不告訴你們(私密金鑰),然後我告訴大家,1是我的公開金鑰。 我有一個檔案,不能讓別人看,我就用1加密了。別人找到了這個檔案,但是他不知道2就是解密的私密金鑰啊,所以他解不開,只有我可以用 數字2,就是我的私密金鑰,來解密。這樣我就可以保護資料了。 我的好朋友x用我的公開金鑰1加密了字元a,加密後成了b,放在網上。別人偷到了這個檔案,但是別人解不開,因為別人不知道2就是我的私密金鑰,
Time of Update: 2018-07-24
斷點調試是程式開發過程中的一個必不可少的步驟,一些程式的斷點調試操作比較簡單,只需在編輯器裡標記哪行為斷點,便可得知程式各個環節的輸出結果,例如c#、VB、Delphi等語言。 但是對於php程式的調試來說,就不是這麼簡單了。本文將談談php斷點調試的幾種方法,對於php新手來說,可能更有參考價值。 首先需要說明的是,php程式調試需要手動編寫部分代碼,目的是斷截程式線程的執行,輸出指定環節的結果,就是所謂的斷點調試。所以,實際上需要討論的問題是採用什麼斷點代碼更合適。
Time of Update: 2018-07-24
最近在找關於外掛程式相關的資料,但是網上少有關於詳細解釋外掛程式如何寫的書,零散的找了些資料,先存這裡。 外掛程式很多從事互連網行業或者開發的人員來不是很陌生,wordpress之所以為什麼那麼受歡迎,很大部分是因為他的強大的外掛程式庫,還要譬如就是大家熟知的jquery,他的外掛程式豐富的讓人難以想象。一個開源產品想要獲得很好的使用者首先要具有搞擴充性,外掛程式就是一種。外掛程式,亦即Plug-in,是指一類特定的功能模組(通常由第三方開發人員實現)。
Time of Update: 2018-07-24
確保開啟php的openssl擴充:extension=php_openssl.dll <?php /** * @file * 作者:yunke url:http://blog.csdn.net/u011474028 * */ header("Content-Type:text/html; charset=utf-8"); $key_file =
Time of Update: 2018-07-24
寫了三種php快速排樣本: 第一種效率低但最簡單最容易理解, 第二個是演算法導論上提供的單向一次遍曆找中值方法, 第三種是雙向遍曆找中值經典快排演算法。 三組演算法實現和比較如下: 方法一:該方法比較直觀,但損失了大量的空間為代價,使用了效率較低的merge函數。在三種方法中效率最低。最壞情況下演算法退化為(O(n*n)) function quick_sort($array) { if(count($array) <= 1) { return
Time of Update: 2018-07-24
函數名 釋義 介紹 htmlspecialchars 將與、單雙引號、大於和小於符號化成HTML格式 &轉成& "轉成" ' 轉成' <轉成< >轉成> htmlentities() 所有字元都轉成HTML格式
Time of Update: 2018-07-24
I’ve just updated Aptana Studio from 1.5 to 2.0 only to find out that the spectacular Aptana PHP plugin is not longer supported and its installation has been removed from the Install Additional Features view. However, with some tricks we can still
Time of Update: 2018-07-24
一、黑名單過濾function is_spam($text, $file, $split = ':', $regex = false){ $handle = fopen($file, 'rb'); $contents = fread($handle, filesize($file)); fclose($handle); $lines = explode("n", $contents); $arr = array();
Time of Update: 2018-07-24
擷取根目錄方法: //這句話放在根目錄下 include/base.inc中,-7是指include長度 define('M_ROOT', substr(dirname(__FILE__), 0, -7)); //這樣寫比較好了,目錄名長度改變也有效。dirname()返回所在目錄路徑 define('M_ROOT',