Time of Update: 2016-06-01
php確實十分容易編寫。但是PHP也有一些十分嚴重的缺陷。下面我會給出我的理由,為什麼PHP不適合於比小型業餘網站更大的網站。 1、對遞迴的不良支援 遞迴是一種函數調用自身的機制。這是一種強大的特性可以把某些複雜的東西變得很簡單。有一個使用遞迴的例子是快速排序(quicksort)。不幸的是,PHP並不擅長遞迴。Zeev,一個PHP開發人員,說道:“PHP
Time of Update: 2016-06-01
以下面是原始碼調用方法: $u=new EncodeQ3boy();echo $u->ubbEncode($_POST["ok"]);/*Text Encode ClassWrite by q3boy 2003.3.10usage:$eq = new EncodeQ3boy($str);初始化類//以下為ubbEncode參數$eq->url = true; //啟用url自動解析 預設false$eq->html =
Time of Update: 2016-06-01
最近要開始使用Zend架構開發中型應用系統了,由於採用完全物件導向的架構思路開發程式,不光開發思想,先前的Editplus+Dreamweaver編輯器組合顯然不能滿足我的要求了。我的新環境初步定為Eclipse+PDT外掛程式+Xdebug+apache(Unix平台最流行的WEB伺服器平台)。先前一直對dotNET、Java的IDE的代碼自動嗅探、代碼提示、程式斷點調試等等自動化功能羨慕不已,而自己寫PHP只能靠著echo、var_dump()來偵錯工具,能不能讓PHP也實現斷點調試呢?先前
Time of Update: 2016-06-01
php5.3.0以下要獲得檔案的mime類型,一般的方法是使用mime_content_type()方法,不過這個方法已經過時,所以最好使用fileinfo來代替。本人使用的是windows環境,下面介紹的是基於windows環境的。首先要下載php_fileinfo.dll檔案,可以在http://pecl.php.net/package/Fileinfo 這裡下載,不過這裡下載到的是源檔案,需要自己編譯。也可以在這裡下載http://dllcentral.com/php_fileinfo.
Time of Update: 2016-06-01
可以執行系統命令的ASP原碼放送http://tech.cncms.com/web/asp/21739.htmlphp的內建函數exec,system都可以調用系統命令(shell命令),當然還有passthru,escapeshellcmd等函數。在很多時候利用php的exec,system等函數調用系統命令可以協助我們更好更快的完成工作。比如前二天筆者在批量處理.rar檔案時exec就幫我了大忙了。今天整理一下常用的調用系統函數發出來和大家分享經驗。注意:要想使用這二個函數php.ini中的
Time of Update: 2016-06-01
如果你的項目想要支援多語言版本,那麼就需要用到 Zend_Translate。Zend_Translate 的詳細文檔在這裡,不過如果想偷懶的話,也很簡單,在View Helpers 文檔中介紹了如何用 Translate Helper 輕鬆實現多語言支援。1. 準備翻譯檔案Zend_Translate 支援多種格式的翻譯檔案。選用何種格式可以參考這裡。如果條目不是很多(5000條以下),那麼可以考慮用最直觀的數組格式,而且可以寫到一個 php
Time of Update: 2016-06-01
原則:1.2.1. 深度防範 深度防範原則是安全專業人員人人皆知的原則,它說明了冗餘安全措施的價值,這是被曆史所證明的。 深度防範原則可以延伸到其它領域,不僅僅是局限於編程領域。使用過備份傘的跳傘隊員可以證明有冗餘安全措施是多麼的有價值,儘管大家永遠不希望主傘失效。一個冗餘的安全措施可以在主安全措施失效的潛在的起到重大作用。
Time of Update: 2016-06-01
PHP是一個很容易學習的語言, 許多人在沒有任何編程背景下學習它作為一種去增加一些互動元素到他們的網站的方法. 不幸的是,這往往意味著PHP程式員,尤其是那些較新的Web開發程式員, 並沒有覺察他們網站中潛在安全風險. 這裡是一些比較常見的安全問題,以及如何去避免它們。永遠,永遠信任你的使用者不能說足夠的次數,你應該永遠,永遠, 信任你的使用者向你發送你期望的資料. 我聽到很多人回應,大概是"哦,沒有惡意的人將對我的網站感興趣"。這就錯了,
Time of Update: 2016-06-01
SMTP
Time of Update: 2016-06-01
php給我們提供了system(),exec(),passthru(),shell_exec()這幾個函數來調用外部的命令.雖然這幾個命令都能執行linux系統的shell命令,但是其實他們是有區別的:system() 輸出並返回最後一行shell結果。exec() 不輸出結果,返回最後一行shell結果,所有結果可以儲存到一個返回的數組裡面。passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標準輸出裝置上。shell_exec() 命令列實際上僅是反撇號 (`) 操作符的變體。
Time of Update: 2016-06-01
irontec推出了一個開源項目PHP for Android(PFA),把php帶到Android平台上。PFA項目還提供了APK工具和文檔為Android Scripting Environment (ASE)提供PHP支援。看看下面這個視頻,開始在Android上的php之旅。 項目提供的APK和源碼都在phpforandroid.net上了,網站還提供了一個支援PHP 5.3的非官方ASE。安裝android 1.5以上版本的手機或模擬器都可以跑PHP for
Time of Update: 2016-06-01
對於WEB應用來說,SQL注入攻擊無疑是首要防範的安全問題,系統底層對於資料安全方面本身進行了很多的處理和相應的防範機制,例如:$User = M("User"); //
Time of Update: 2016-06-01
兩個好像都是終止程式執行,貌似的確沒有不同GOOGLE了一下有人說一個是死之前還能冒個泡,一個不會翻了一下手冊,好像exit也是可以輸出東西的void exit ( [string status] );但是關於exit有一個注釋:注意: 由於這是一個語言結構而非函數,因此它無法被變數函數調用。已經死掉了,就算能交給其他變數或者函數也沒有用了啊關於die有一段說明die -- Equivalent to exit()看來,php中die和exit的確沒有區別。
Time of Update: 2016-06-01
國內不少論壇都存在跨站指令碼漏洞,國外也很多這樣的例子,甚至Google也出現過,不過在12月初時修正了。(編者註:關於跨站指令碼漏洞攻擊,讀者可參閱《詳解XSS跨站指令碼攻擊》)。跨站攻擊很容易就可以構造,而且非常隱蔽,不易被查覺(通常盜取資訊後馬上跳回原頁面)。如何攻擊,在此不作說明(也不要問我),主要談談如何防範。首先,跨站指令碼攻擊都是由於對使用者的輸入沒有進行嚴格的過濾造成的,所以我們必須在所有資料進入我們的網站和資料庫之前把可能的危險攔截。針對非法的HTML程式碼封裝括單雙引號等,可
Time of Update: 2016-06-01
一、安裝xdebug模組1、去www.xdebug.org下載相應版本php的模組檔案,儲存下載後的檔案到php的ext目錄,可以自己修改檔案的名稱,如儲存成:php_xdebug.dll2、修改php.ini,增加如下資訊,在檔案的最後[Xdebug]zend_extension_ts="c:/php5/ext/php_xdebug.dll"xdebug.auto_trace=Onxdebug.collect_params=Onxdebug.collect_return=Onxdebug.tr
Time of Update: 2016-06-01
在PHP中調用IE使用如下代碼:browser = new COM("InternetExplorer.Application"); 無法正常調用,直接報錯:Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `InternetExplorer.Application': 拒絕訪問。原因是IE的COM組件預設禁止普通帳號訪問,解決方案如下:1、開啟控制台 - 管理工具
Time of Update: 2016-06-01
定義和用法mysql_real_escape_string() 函數轉義 SQL 陳述式中使用的字串中的特殊字元。下列字元受影響:\x00\n\r\'"\x1a如果成功,則該函數返回被轉義的字串。如果失敗,則返回 false。文法mysql_real_escape_string(string,connection) 參數 描述 string
Time of Update: 2016-06-01
php產生xml就像樹一樣,逐個添加節點,可以在一個父節點下添加多個子節點:function madexml(){ //擷取模板資訊 $strTempInfo = $this->modelCmsObj->getTemplate('2007'); $arrTemp = explode("#",$strTempInfo); array_shift($arrTemp); $arrContents = array();
Time of Update: 2016-06-01
1)不要下載www.php.net上面那個Windows Installer裝完了之後不能用MySQL都不知道問題出在哪。永遠修不好,沒錯的。EXTention永遠無法載入。於是php_mysql.dll永遠進入不了記憶體。MYSQL_CONNET()函數永遠找不到。永遠設定不好。你根本不知道他做了什麼!於是很多在PDO出現之前的程式都用不了。2)所以一定要手動。手動是王道。因為我們知道我們要做什麼。不要懶。3)下這個# PHP 5.2.5 zip package [9,713Kb] - 08
Time of Update: 2016-06-01
無論你要構建自己的論壇,在你的網站上發布訊息還是書寫自己的CMS程式,你都會遇到要在資料庫中儲存層次資料的情況。同時,除非你使用一種像xml(標準化越來越近了)的資料庫,否則關聯式資料庫中的表都不是階層的,他們只是一個平坦的列表。所以你必須找到一種把層次資料庫轉化的方法。儲存樹形結構是一個很常見的問題,他有好幾種解決方案。主要有兩種方法:鄰接列表模型和改進前序走訪樹演算法在本文中,我們將探討這兩種儲存層次資料的方法。我將舉一個線上食品店樹形圖的例子。這個食品店通過類別、顏色和品種來組織食品。樹形