Time of Update: 2018-07-24
本篇文章收集整理PHP中的一些重要底層函數的用法 1、錯誤和日誌函數庫 本庫屬於php的核心函數庫,可以直接使用。主要有以下幾個函數。 debug_print_backtrace和debug_backtrace 這兩個函數實現相同的目的——記錄php函數的呼叫堆疊——但是表現不同。debug_print_backtrace直接在輸出內容中列印出呼叫堆疊內容,debug_backtrace將呼叫堆疊以數組的形式返回供php程式使用。 在我的一個資料字典載入類中debug_
Time of Update: 2018-07-24
用戶端與伺服器端是通過HTTP協議進行串連通訊,用戶端發起請求,伺服器端接收到請求後執行處理,並返回處理結果。 有時伺服器需要執行很耗時的操作,這個操作的結果並不需要返回給用戶端。但因為php是同步執行的,所以用戶端需要等待服務處理完才可以進行下一步。 test-a.php <?phpheader("Content-type:text/html;charset=utf-8");$url =
Time of Update: 2018-07-24
Step 1: Start the sapiextern zend_module_entry php_apache_module;static int php_apache2_startup(sapi_module_struct *sapi_module){ if (php_module_startup(sapi_module, &php_apache_module, 1)==FAILURE) { return FAILURE;
Time of Update: 2018-07-24
根據實際工作需要,想從訪問日誌裡找出自己想要的東西,如找不到的檔案,從google來的還是從yahoo來的或從別的地方來的,還是搜尋引擎的蜘蛛訪問。原理很簡單就是開啟檔案,過濾不要的記錄,分解記錄欄位,列表所需結果。幾乎憑一個PHP的函數preg_match()搞定。下面是原始碼,自己研究吧 。<html><head><title>Simple tools for website logs</title></head><body&
Time of Update: 2018-07-24
一、server.php服務端: <?phperror_reporting(E_ALL);set_time_limit(0);ob_implicit_flush();//本地IP$address = 'localhost';//設定用111連接埠進行通訊$port = 111;//建立SOCKETif (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {echo "socket建立失敗原因 &
Time of Update: 2018-07-24
1. xdebug 一定安裝與php版本一致的,否則載入會失敗。安裝的時候查看一下xdebug的安裝說明 主要是 --with-php-config=/php安裝的bin目錄/php-config 要不然找不到安裝的php的版本資訊。 2. 安裝完成後,在php.ini 中增加 zend 擴充,而不是extension [XDebug]
Time of Update: 2018-07-24
主要參考這個如下: 沒有搭建一個可以Remote Debugging的環境,導致開發效率異常低下。 習慣性的操作,顯然無法習慣這種記事本+IE Explorer的開發模式。因此決定搭建一個可以進行Debug的PHP開發環境。 閱覽多方資料後我決定使用NB+XDebug來搭建環境。由於搭建環境之步驟稍顯繁瑣,特此記錄以備忘。 0.下載安裝帶有netbeans(nb)的jdk,安裝
Time of Update: 2018-07-24
Xdebug的認識我還停留在var_dump();時,可以讓結果排序更美觀些,可以看到錯誤資訊更詳細些。哦,好像還可以調試。 本文就說說如何安裝調試。 系統是Mint。(Debian/Ubuntu); 安裝步驟。 產生xdebug.so檔案 1: /*進官網,下包。http://www.xdebug.org/ 介面真TM醜。http://www.xdebug.org/download.php 進入下載頁面。Xdebug 2.2.4*/
Time of Update: 2018-07-24
php的set_include_path函數,是用來設定應用程式目錄的,開發項目時合理應用此函數, 可以讓我們在include時不用一層一層的計算目錄,還可以提高我們開發的效率,減少檔案包含錯誤率 看個例子 建立2個php檔案,一個目錄位置結構如下 /index.php /include/config.php index.php Code: <?php
Time of Update: 2018-07-24
通過openssl實現的簽名、驗簽、非對稱加解密,需要配合x.509認證(如crt和pem)檔案使用。 由於各種原因,該類並不十分完善,歡迎各種測試。 <?php/** * RSA演算法類 * 簽名及密文編碼:base64字串/十六進位字串/二進位字串流 * 填充方式: PKCS1Padding(加解密)/NOPadding(解密) * * Notice:Only accepts a single block. Block size is equal to the
Time of Update: 2018-07-24
本文記錄的要實現的功能類似於 MySQL 中的 ORDER BY,上個項目中有遇到這樣的一個需求。 要求:從兩個不同的表中擷取各自的4條資料,然後整合(array_merge)成一個數組,再根據資料的建立時間降序排序取前4條。 遇到這個要求的時候就不是 ORDER BY 能解決的問題了。因此翻看 PHP 手冊尋找到了如下方法,做此筆記。 廢話少說,奉上代碼,清單如下: <?php/** * 二維數組根據某個欄位排序 * 功能:按照使用者的年齡倒序排序 *
Time of Update: 2018-07-24
有這樣的需求,需要根據使用者的IP地址,定位使用者所在的城市。 本文記錄性文章,無邏輯性。有這樣需求的朋友,可以直接拷貝使用。直接上代碼,不需贅述。 <?phpheader('Content-Type:text/html;Charset=utf-8');function GetIp(){ $realip = ''; $unknown = 'unknown'; if (isset($_SERVER)){
Time of Update: 2018-07-24
<?php /****************************** * 折線圖產生函數 * youd * 090207-01 ******************************/ function line_stats_pic($value_y,$width,$high,$strong=1,$fix=0){ //y值處理函數 function
Time of Update: 2018-07-24
empty和isset empty() 判斷一個變數是否為“空”,isset() 判斷一個變數是否已經設定。 empty還會檢測變數是否為空白、為零。當一個變數值為0,empty() 認為這個變數同等於空,即相當於沒有設定。 parse_url 官方http://www.php.net/manual/zh/function.parse-url.php parse_url — 解析 URL,返回其組成部分 explode()
Time of Update: 2018-07-24
function read_all($dir){ if(!is_dir($dir)) return false; $handle = opendir($dir); if($handle){ while(($fl = readdir($handle)) !== false){ $temp = $dir.DIRECTORY_SEPARATOR.$fl; //如果不加 $fl!='.' && $fl != '
Time of Update: 2018-07-24
PHP代碼: <li> <span class="l2">所在城市</span> <select class="city"> <option value="">選擇所在城市</option>
Time of Update: 2018-07-24
1,在HTML嵌入PHP指令碼有三種辦法: < script language = " php " > // 嵌入方式一 echo ( " test " ); </ script > <? // 嵌入方式二 echo
Time of Update: 2018-07-24
return array( /* 項目設定 */ 'APP_DEBUG' => false, // 是否開啟偵錯模式 'APP_DOMAIN_DEPLOY'&
Time of Update: 2018-07-24
這裡要先聲明一下,針對Nginx的php安裝和針對apache的php安裝是有區別的,因為Nginx中的php是以fastcgi的方式結合nginx的,可以理解為nginx代理了php的fastcgi,而apache是把php作為自己的模組來調用的。 先把php 和php-fpm編譯安裝吧 請看http://heilinux.blog.51cto.com/6123663/1575582 修改設定檔
Time of Update: 2018-07-24
<?php/** * PHP 漢字轉拼音 * @author Jerryli(hzjerry@gmail.com) * @version V0.20140715 * @package SPFW.core.lib.final * @global SEA_PHP_FW_VAR_ENV * @example *echo CUtf8_PY::encode('阿里巴巴科技有限公司'); //編碼為拼音首字母 *echo CUtf8_PY::encode('阿里巴巴科技有限公司', 'all'); /