Time of Update: 2017-01-19
php 本身有 zip 模組,可以生產 zip 檔案。但是這個 zip 模組只能使用本地檔案來打包。如果需要打包輸出的檔案來自網路,就得先儲存臨時檔案。在檔案數量多或者檔案大的時候就很杯具。另外,由 php 來輸出大的打包檔案會佔用 php 進程大量時間,影響並發能力。nginx 有一個第三方模組,mod_zip 。同樣可以輸出 zip 包。和 X-Accel-Redirect 有點類似,只需要 php 輸出相應檔案的路徑等資訊,然後給一個特殊的回應標頭即可。nginx zip
Time of Update: 2017-01-19
現在回想起來,我以前的想法是錯誤的,網頁的執行流程 開啟WEB頁面 —- 載入HTML代碼 (包括CSS,javascript)— 執行PHP代碼 — 完成 粗約的就先理解成上面的這個樣子。我們都知道PHP做成伺服器端的指令碼,它是有逾時設定的,可以通過 set_time_limit() 函數來處理。但這樣處理PHP代碼十分消耗CPU資源。所以不建議通過迴圈處理PHP代碼來實現。一般的情況是用javascript來處理。複製代碼
Time of Update: 2017-01-19
最近某個PHP項目用到了限制登入時間的功能,比如使用者登入系統60分鐘後如果沒有操作就自動結束,我搜尋了網路收集了有以下方法可供參考。第一種方法即設定php.ini設定檔,設定session.gc_maxlifetime和session.cookie_lifetime節點屬性值,當然也可以使用ini_set函數改變當前上下文環境的屬性值:複製代碼 代碼如下:ini_set('session.gc_maxlifetime', "3600"); //
Time of Update: 2017-01-19
今晚在寫架構的表單驗證類時,需要判斷某個字串長度是否在指定區間內,很自然地,想到了PHP中的strlen函數。複製代碼 代碼如下:$str = 'Hello world!';echo strlen($str); // 輸出12然而在PHP內建的函數中,strlen及mb_strlen都是通過計算字串所佔位元組數來計算長度的,在不同的編碼情況下,中文所佔的位元組數是不同的。在GBK/GB2312下,中文字元佔2個位元組,而在UTF-8下,中文字元佔3個位元組。複製代碼
Time of Update: 2017-01-19
//判斷編碼複製代碼 代碼如下:$encode = mb_detect_encoding($q, array('GB2312','GBK','UTF-8'));echo $encode."<br/>";if($encode=="GB2312"){ $q = iconv("GBK","UTF-8",$q);}else if($encode=="GBK"){ $q = iconv("GBK","UTF-8",$q);
Time of Update: 2017-01-19
以下代碼的實現效果:1、留言的訪客顯示歡迎詞2、一般訪客來源提示3、不留言潛水黨(重新整理大於7次,催促留言)4、針對IE的推送更新提示使用方法:調用相應的函數,例如welcome_msg()。複製代碼 代碼如下:<?php/** * 歡迎詞 * 以前的歡迎詞在右上方提示. * 實現原理: * 通過$_SERVER['HTTP_REFERER']判斷來路 * 通過$_SERVER["HTTP_USER_AGENT"]判斷使用者使用的瀏覽器&
Time of Update: 2017-01-19
寫一個函數,將資料$array = array( 0=>array("","河北"), 1=>array("","北京"), 2=>array(0,"保定"), 3=>array(1,"海澱"), 4=>array(3,"中關村"),
Time of Update: 2017-01-19
PHP中的迴圈結構大致有for迴圈,while迴圈,do{} while 迴圈以及foreach迴圈幾種,不管哪種迴圈中,在PHP中跳出迴圈大致有這麼幾種方式:代碼:複製代碼 代碼如下:<?php$i = 1;while (true) { // 這裡看上去這個迴圈會一直執行 if ($i==2) {// 2跳過不顯示
Time of Update: 2017-01-19
先給大家介紹用到的函數:複製代碼 代碼如下:mb_strwidth($str, $encoding) 返回字串的寬度$str 要計算的字串$encoding 要使用的編碼,如 utf8、gbk複製代碼 代碼如下:mb_strimwidth($str, $start, $width, $tail, $encoding) 按寬度截取字串$str 要截取的字串$start 從哪個位置開始截取,預設是0$width 要截取的寬度$tail 追加到截取字串後邊的字串,常用的是 ...$encoding
Time of Update: 2017-01-19
介面問題php調用介面最主要的就是使用curl抓取資訊複製代碼 代碼如下:$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url); //url地址curl_setopt($ch, CURLOPT_POST, true); //是否post請求curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //post請求傳遞的資料curl_setopt($ch,
Time of Update: 2017-01-19
PHP語言雖然功能強大,但並不代表其沒有缺點,在編寫代碼的過程中未免會遇到一些讓人頭痛的問題。下面我們將為大家介紹有關PHP整數取餘返回負數的解決辦法。我們先來看個例子.複製代碼 代碼如下:$res = 16244799483; echo $res%9999999; // 輸出結果為 -5069794,
Time of Update: 2017-01-19
本項目用zend framework架構實現的modules/default/controllers/IndexController.phpIndexController.php複製代碼 代碼如下:<?phpclass IndexController extends Zend_Controller_Action{ public function init()
Time of Update: 2017-01-19
wampIntegration Environment下升級php版本1.下載php版本壓縮包,解壓php版本壓縮包2.停掉wamp服務3.替換wamp\php檔案4.替換wamp\Apache2\bin目錄下的php5nsapi.dll 和 php5ts.dll(對應當前php版本的)5.重啟wamp服務6.phpinfo()測試我遇到的問題 時區設定問題解決方案:wamp\Apache2\bin\php.ini; Module Settings ;;新增時區設定[Date];
Time of Update: 2017-01-19
解釋不清,直接上例子index.html複製代碼 代碼如下: <form action="action.php" method="post" > <input type="text" name="userName" id="userName" /><br/> <input type="text" name="userPass" id="userPass"
Time of Update: 2017-01-19
擷取伺服器mac 複製代碼 代碼如下: <?php /** 擷取網卡的MAC地址原碼;目前支援WIN/LINUX系統 擷取機器網卡的物理(MAC)地址 **/ class GetmacAddr{ var $result = array(); // 返回帶有MAC地址的字串數組 var $macAddr; /*構造*/ function __construct($osType){ switch ( strtolower($osType) ){ case "unix": break;
Time of Update: 2017-01-19
什麼是寫時複製(Copy On
Time of Update: 2017-01-19
在PHP程式運行過程中如果有錯誤發生,在瀏覽器上是否顯示錯誤資訊,以及顯示錯誤資訊的層級是我們在程式開發、調試、運營過程中需要控制的。下面就通過設定php.ini,控制PHP錯誤資訊(errors)的屏蔽和顯示作如下說明:1、錯誤資訊是否顯示 複製代碼 代碼如下:顯示錯誤 display_errors = On 屏蔽錯誤 display_errors = Off
Time of Update: 2017-01-19
抓取遠程內容,之前一直都在用file_get_content函數,其實早就知道有curl這麼一個好東西的存在,但是看了一眼後感覺使用頗有些複雜,沒有file_get_content那麼簡單,再就是需求也不大,所以沒有學習使用curl。直到最近,要做一個網頁小偷程式的時候才發現file_get_content已經完全不能滿足需求了。我覺得,在讀取遠程內容的時候,file_get_content除了使用比curl便捷以外,其他都沒有curl好。php中curl和file_get_content的一些
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php $keyword="asp php,jsp"; $keyword=str_replace(" "," ",$keyword); $keyword=str_replace(" ",",",$keyword); $keyarr=explode(',',$keyword); for($index=0;$index<count($keyarr);$index++) { $whereSql .= " And (arc.title like '%$keyarr[$
Time of Update: 2017-01-19
對於zip檔案網上的例子很多,rar檔案解壓php沒有直接支援,可以用pecl到http://pecl.php.net/package/rar 下載對應版本的 非安全執行緒的dll然後扔到php的 ext目錄下。 開啟php.ini. 加一行 extension=php_rar.dll 重啟web伺服器 和php 複製代碼 代碼如下: public function _unzip($fileName,$extractTO){ $fileName = iconv('utf-8','gb2312',