Time of Update: 2018-12-08
本項目用zend framework架構實現的modules/default/controllers/IndexController.phpIndexController.php複製代碼 代碼如下:<?phpclass IndexController extends Zend_Controller_Action{ public function init() { /* Initialize action controller here */ }
Time of Update: 2018-12-08
單例(Singleton)模式和不常見的多例(Multiton)模式控制著應用程式中類的數量。如模式名稱,單例只能執行個體化一次,只有一個對象,多例模式可以多次執行個體化。基於Singleton的特性,我們經常用Singleton配置應用程式並定義應用程式中可能隨時訪問的變數。但有時並不推薦使用Singleton,因為它產生了一個全域狀態且該單一根對象沒有封裝任何系統功能。多數情況下,會使單元測試和調試變得困難。讀者根據情況自行決定。程式碼範例:複製代碼 代碼如下:<?phpclass
Time of Update: 2018-12-08
複製代碼 代碼如下:/** * 取出html標籤 * * @access public * @param string str * @return string * */function deletehtml($str) { $str = trim($str); //清除字串兩邊的空格 $str = strip_tags($str,"<p>"); //利用php內建的函數清除html格式。保留P標籤 $str = preg_replace("/\t/","",$
Time of Update: 2018-12-08
採用js對URL中的漢字進行escape編碼。 <a href="" onclick="window.open('product_list.php?p_sort='+escape('指令碼之家'));">這樣點選連結後的效時: 引用:http://127.0.0.1/shop/product_list.php?p_sort=PHP%u5F00%u53D1%u8D44%u6E90%u7F51產生了這樣的效果,
Time of Update: 2018-12-08
網上很多人給出瞭解答:修改php設定檔中的session.gc_maxlifetime。如果想瞭解更多session回收機制,繼續閱讀。(本文環境php5.2)概述:每一次php請求,會有1/100的機率(預設值)觸發“session回收”。如果“session回收”發生,那就會檢查/tmp/sess_*的檔案,如果最後的修改時間到現在超過了1440秒(gc_maxlifetime的值),就將其刪除,意味著這些session到期失效。1. session在server端(一般是Apache
Time of Update: 2018-12-08
摘要 記憶體管理對於長期啟動並執行程式,例如伺服器精靈,是相當重要的影響;因此,理解PHP是如何分配與釋放記憶體的對於建立這類程式極為重要。本文將重點探討PHP的記憶體管理問題。一、 記憶體在PHP中,填充一個字串變數相當簡單,這隻需要一個語句"<?php $str = 'hello world '; ?>"即可,並且該字串能夠被自由地修改、拷貝和移動。而在C語言中,儘管你能夠編寫例如"char *str = "hello world
Time of Update: 2018-12-08
下邊提到的幾個數組函數的排序有一些共性:1 數組被作為排序函數的參數,排序以後,數組本身就發生了改變,函數的傳回值為bool類型。2 函數名中出現單a表示association,含義為,在按值排序的過程中,保持key=>value的對應關係不變3 函數名中出現單k表示key,含義為,在按值排序的過程中按照數組key而不是數組的值排序4 函數名中出現單r的表示reverse,含義為,按照跟不加r的相反的順序排列5
Time of Update: 2018-12-08
複製代碼 代碼如下:function dump($var, $echo=true,$label=null, $strict=true){ $label = ($label===null) ? '' : rtrim($label) . ' '; if(!$strict) { if (ini_get('html_errors')) { $output = print_r($var, true); $output =
Time of Update: 2018-12-08
方法1 :據官方手冊上描述若php教程的safe mode相關的設定過於苛刻,就會出現這樣的情形:儘管檔案真實存在也被誤判,認為檔案不存在。 由於伺服器端的php.ini我們無法操縱,當用ini_set()也關閉不了safe mode模式,我們只有退而求其次,找一個更可靠、安全的檢測方法來檢測檔案是否存在。我們可以藉助 $_server['document_root'] 來加以實現。$_server['document_root']
Time of Update: 2018-12-08
web伺服器的php session都給memcached ,這樣你不管分發器把 ip串連分給哪個web伺服器都不會有問題了,配置方法很簡單,就在php的設定檔內增加一條語句就可以了,不過前提你需要裝好memcache模組1.設定session用memcache來儲存方法I: 在 php.ini 中全域設定session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211"方法II: 某個目錄下的
Time of Update: 2018-12-08
昨天晚上群裡有朋友採集網頁時發現file_get_contents 獲得的網頁儲存到本地為亂碼,響應的header 裡 Content-Encoding:gzip但在瀏覽器裡看是正常的。因為我有過相關經驗馬上發現是網站開啟了gzip而file_get_contents 獲得的是壓縮過的頁面,而不是解壓過的頁面(不知道是不是要file_get_conttents
Time of Update: 2018-12-08
PHP的file_get_contents擷取遠程頁面內容,如果是gzip編碼過的,返回的字串就是編碼後的亂碼1、解決方案,找個ungzip的函數來轉換下2、給你的url加個首碼,這樣調用$content = file_get_contents("compress.zlib://".$url);無論頁面是否經過gzip壓縮,上述代碼都可以正常工作!使用curl模組同樣可解決問題複製代碼 代碼如下:function curl_get($url, $gzip=false){
Time of Update: 2018-12-08
一,敏感詞處理1,過濾敏感詞preg_match()函數用來在字串中搜尋所有與給定的Regex匹配的內容,如果存在則返回True,否則返回False。文法:int preg_match(string pattern,string subject[,array matches[,int
Time of Update: 2018-12-08
1.用單引號來包含字串要比雙引號來包含字串更快一些。因為PHP會在雙引號包圍的字串中搜尋變數,單引號則不會。2.如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。3.$row['id'] 的速度是$row[id]的7倍。4.echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字串串連,比如echo
Time of Update: 2018-12-08
在節點之間再應用一些排序邏輯,二叉樹就能提供出色的組織方式。對於每個節點,都讓滿足所有特定條件的元素都位於左節點及其子節點。在插入新元素時,我們需要從樹的第一個節 點(根節點)開始,判斷它屬於哪一側的節點,然後沿著這一側找到恰當的位置,類似地,在讀取資料時,只需要使用按序遍曆方法來遍曆二叉樹。複製代碼 代碼如下:<?phpob_start();// Here we need to include the binary tree classClass Binary_Tree_Node() {
Time of Update: 2018-12-08
PHP magic_quotes_gpc主要是作用在WEB客戶服務端的,它的作用時間是從請求開始,接下來我們將具體的為大家講解它的使用方式。AD:我們今天要向大家介紹的是PHP
Time of Update: 2018-12-08
stream_bucket_append函數:為隊列添加資料 stream_bucket_make_writeable函數:從操作的隊列中返回一個資料對象stream_bucket_new函數:為當前隊列建立一個新的資料stream_bucket_prepend函數:預備資料到隊列 stream_context_create函數:建立資料流上下文stream_context_get_default函數:擷取預設的資料流上下文stream_context_get_options函數:擷取資料流的設
Time of Update: 2018-12-08
<?phprequire_once('../class.phpmailer.php');$mail= new PHPMailer();$body= "我終於發送郵件成功了!呵呵!goodboy xxxxxxx!<br/><a>http://news.qq.com/a/20111115/000792.htm?qq=0&ADUIN=594873950&ADSESSION=1321316731&ADTAG=CLIENT.QQ.3493_.0<
Time of Update: 2018-12-08
ob_start()函數用於開啟緩衝區,比如header()函數之前如果就有輸出,包括斷行符號/空格/換行/都會有"Header had all ready send by"的錯誤,這時可以先用ob_start()開啟緩衝區PHP代碼的資料區塊和echo()輸出都會進入緩衝區而不會立刻輸出.當然開啟緩衝區的作用很多,只要發揮你的想象.可以總結以下四點:1.用於header()之前ob_start(); //開啟緩衝區 echo /"Hellon/"; //輸出 header("location:
Time of Update: 2018-12-08
複製代碼 代碼如下:<?phperror_reporting(7);class msn{ private $startcomm = 0; private $username = ''; private $password = ''; private $commend = ''; private $domain = ''; private $socket = ''; private $challenge = ''; private