Time of Update: 2018-12-06
一,前言:ASP,JSP,PHP是WEB開發的三大技術,三種技術優缺點也早就有人分析過了。無非也就是ASP簡單易用且有microsoft做靠山,JSP功能強大是因為有java支援,PHP則開源跨平台。在國內,ASP應用範圍最廣,JSP發展勢頭最猛,PHP則處於劣勢。這可能與公司的支援以及技術的培訓有關。 由於公司項目的需要,我這才接觸PHP,用過一段時間後兩點體會最深刻,一是學習容易,上手極快,內建函數很多,適合快速開發;二是學習資料匱乏,普及不廣,很多時候都要去看英文文檔。
Time of Update: 2018-12-06
PHP 超全域變數$GLOBALS包含一個引用指向每個當前指令碼的全域範圍內有效變數。該數組的鍵標為全域變數的 名稱。從 PHP 3 開始存在 $GLOBALS 數組。$_SERVER變數由 Web 服務器設定或者直接與當前指令碼的執行環境相關聯。類似於舊數組 $HTTP_SERVER_VARS 數組(依然有效,但反對使用)。$_GET經由 HTTP GET 方法提交至指令碼的變數。類似於舊數組 $HTTP_GET_VARS 數組(依然有效,但反對使用)。$_POST經由 HTTP POST
Time of Update: 2018-12-06
用php擷取用戶端IP地址的方法,具體代碼如下:<?php$iipp=$_SERVER["REMOTE_ADDR"];echo $iipp;?>///////////////////////////////////////////////<?php$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];$user_IP = ($user_IP)
Time of Update: 2018-12-06
WEB 伺服器可以用三種方法來利用 PHP 產生 WEB 頁面。 第一種方法是將 PHP 用作一個“外殼”。以這種方法運行,PHP 會為向您的 WEB 伺服器提出的每個 PHP 頁面請求產生並結束一個 PHP 解譯器線程。由於該線程會隨每個請求的結束而結束,因此任何在這個線程中利用的任何資源(例如指向 SQL
Time of Update: 2018-12-06
<?php$_POST=sql_injection($_POST);$_GET=sql_injection($_GET);function sql_injection($content){ if (!get_magic_quotes_gpc()) { if (is_array($content)) { foreach ($content as $key=>$value) { $content[$key] =
Time of Update: 2018-12-06
中文空格這裡面有好幾種:沒有簡單的解決問題的方式,比如半形全形空格,比如段落符都會顯示為空白的,然後讓人們誤解它是空格,所以去掉空格之前一定要先確認自己的是不是空格,我下面分析一下這兩種的解決辦法。(1)/[\s| ]+/這個就可以,注意|後面的跟的是全形空格(2)mb中的正則替換也可以試試另外注意使用Unicode的時候,加上Regex描述符u但由於漢語中顯示為空白格模樣的有很多個,比如說我下面碰到的這麼一個,它的unicode編碼為C2A0,使用下面的運算式就能解決問題。$new['cont
Time of Update: 2018-12-06
首先我來舉個例子:一個簡單的文章顯示系統簡單期間,我們假定這個文章系統是唯讀,也就是說這個例子將不涉及文章的發布,現在開始了。由於只涉及資料庫的讀取,所以我定義了兩個interfaceInterface DataOperation{ public function select($info); public function
Time of Update: 2018-12-06
PHP程式也不是固若金湯,隨著PHP的廣泛運用,一些駭客們也在無時不想找PHP的麻煩,通過PHP程式漏洞進行攻擊就是其中一種。在節,我們將從全域變數,遠程檔案,檔案上傳,庫檔案,Session檔案,資料類型和容易出錯的函數這幾個方面分析了PHP的安全性。如何通過全域變數進行攻擊?
Time of Update: 2018-12-06
很多虛擬機器主機不支援URL_rewrite昨天也看到經典一朋友寫了一個感覺代碼太多.無事中研究了一下_SERVER.其實可以很簡化的拿xxx/test.php/article.123456.html來說事吧.這樣的格式來表示_GETxxx/test.php/article.123456.htmlxxx/test.php?article=123456==================================哪種格式更帥呢. 代碼如下:CODE: $path_info
Time of Update: 2018-12-06
在json中不支援中文,用它傳送中文資料就會出現資料丟失或者亂碼,必須在傳送前對要發送的字串進行編碼,由於傳送過去需要用js進行資料解析,考慮到js中有unescape函數,故若在php中有個escape函數,對資料進行編碼,在用戶端用unescape進行 解碼,這樣就會方便很多。先在網上搜尋一把,很多用php實現的escape函數,大同小異,比如下面一個:function phpEscape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+
Time of Update: 2018-12-06
PHP是一門高效的網路程式設計語言,由於它具有編寫靈活、運行快速等優點,迅速成為Web程式員的慣用語言。前不久的一份權威調查表明,現在已經有31.6%的網站使用PHP作為主要的伺服器端程式設計語言。 但是,要成為一名PHP編程高手卻並不容易。並不像很多人想象的那樣,只要能夠飛快地編寫幾條簡單的代碼去解決一個複雜的問題就是PHP編程高手了,真正的PHP高手還需要考慮更多的其它問題。以下三條準則是一名成熟的PHP程式員在編程中應該首先遵循的準則。 1.懶惰是金 2.編寫漂亮的代碼
Time of Update: 2018-12-06
我的部落格使用的是虛擬機器主機,也想實現url最佳化,但是我沒有伺服器許可權,怎麼辦?很簡單,我們可以從$_SERVER[”REQUEST_URI”]和$_SERVER['PATH_INFO']來下手:原網站訪問地址是 http://kuyuecs.cnblogs.com/test.php?a=1&b=2&c=3使用了 mode_rewrite 函數後,就可以用
Time of Update: 2018-12-06
PHP程式設計中中文編碼問題曾經困擾很多人,導致這個問題的原因其實很簡單,每個國家(或地區)都規定了電腦資訊交換用的字元編碼集,如美國的擴充 ASCII 碼, 中國的 GB2312-80,日本的 JIS 等。作為該國家/地區內資訊處理的基礎,字元編碼集起著統一編碼的重要作用。字元編碼集按長度分為 SBCS(單一位元組字元集),DBCS(雙位元組字元集)兩大類。早期的軟體(尤其是作業系統),為瞭解決本地字元資訊的電腦處理,出現了各種語言版本(L10N),為了區分,引進了 LANG,
Time of Update: 2018-12-06
<?php echo "目前執行的檔案名稱 ". $_SERVER['PHP_SELF']. "<br>"; echo "伺服器使用的軟體 ". $_SERVER['SERVER_SOFTWARE']. "<br>"; echo "文檔的根目錄 ". $_SERVER['DOCUMENT_ROOT']. "<br>"; echo "使用者相關資訊 ". $_SERVER['HTTP_USER_AGENT']. "<br>";
Time of Update: 2018-12-06
你不必嚴格遵守這些原則,違背它們也不會被處以宗教刑罰。但你應當把這些原則看成警鈴,若違背了其中的一條,那麼警鈴就會響起 。 —– Arthur
Time of Update: 2018-12-06
MVC模式在網站架構中十分常見。它允許我們建立一個三層結構的應用程式,從代碼中分離出有用的層,協助設計師和開發人員協同工作以及提高我們維護和擴充既有程式的能力。 視圖(View)“視圖”主要指我們送到Web瀏覽器的最終結果??比如我們的指令碼產生的HTML。當說到視圖時,很多人想到的是模版,但是把模板方案叫做視圖的正確性是值得懷疑的。對視圖來說,最重要的事情可能是它應該是“自我意識(self
Time of Update: 2018-12-06
控制器實際上是用來觸發模型的資料和視圖元素之間的綁定的控制項。 例子 這裡是一個使用MVC模式的簡單例子。首先我們需要一個資料庫訪問類,它是一個普通類。以下是程式碼片段:<?php /** * A simple class for querying MySQL */ class DataAccess { /** * Private
Time of Update: 2018-12-06
命令列下有兩個常量,STDOUT和STDIN分別代表標準輸出和標準輸入,通過它們來實現命令列的互動。 #!/usr/bin/php -q<?php/** * php命令列的編寫介紹 * @author Rains rains31@gmail.com * @copyright
Time of Update: 2018-12-06
<?php$html = file_get_contents('http://www.example.com/');print_r($http_response_header); // or$fp = fopen('http://www.example.com/', 'r');print_r(stream_get_meta_data($fp));fclose($fp);?> 範例程式碼2:<?php$data = array ('foo' => 'bar');$data
Time of Update: 2018-12-06
使用方法非常簡單,只需包含一個檔案即可...<?php/** * auto_cache.php 實現智能的自動緩衝。 * 使用辦法極其簡單: * 在需要實現緩衝功能的頁面 require 'auto_cache.php'; 就ok了 * @author rains31@gmail.com *///本檔案不允許直接存取,必須定義RAINS_ROOT才能使用if(!defined('RAINS_ROOT'))die('access