1、php中session的產生機制我們先來分析一下PHP中是怎麼產生一個session的。設計出session的目的是保持每一個使用者的各種狀態來彌補HTTP協議的不足(無狀態)。我們現在有一個疑問,我們都知道session是儲存在伺服器的,既然它用於保持每一個使用者的狀態那它利用什麼來區別使用者的呢?這個時候就得藉助cookie了。當我們在代碼中調用session_start();時,PHP會同時往SESSION的存放目錄(預設為/tmp/)和用戶端的cookie目錄各產生一個檔案。sess
呵呵,業務需要按多維陣列中某個元素進行排序,在PHP中也是非常容易實現的,一個函數調用一個回呼函數就搞定了。貼出代碼:複製代碼 代碼如下:$arr = array( 'index'=>array( 'name'=>'首頁','order'=>3), 'intro'=>array(
一、實現原理在PHP的函數中,global文法是比較常見的,大家一定都知道一旦在函數中global了某個外部變數後,這個變數就可以在這個函數中使用了,但是也有不少網友不知道這是一個什麼實現原理。現在上一個例子,大家一看就知道了:複製代碼 代碼如下:$globalStr = '.net';function globalTest(){ global $globalStr; $globalStr = 'jb51'.$globalStr; unset($globalStr)
當伺服器建立了一個session(session_start()),伺服器將會在伺服器的指定檔案夾下建立一個session檔案,其名稱為sessionID,併當做cookie的值發送給瀏覽器。瀏覽器每次訪問該伺服器時便會帶著這個cookie,伺服器便會識別改sessionID,找到相應的session檔案。該檔案中存放了若干索引值對。該session檔案所存放的檔案夾可以在設定檔php,ini中修改。cookie
php檔案中在亂碼(如a.php檔案在瀏覽器亂碼):header("Content-Type:text/html;charset=utf-8")是設定網頁的。mysql_query("set names utf-8")設定資料庫的。java中的struts:中文亂碼問題一般是指當請求參數有中文時,無法在Action中得到正確的中文。Struts2中有2種辦法可以解決這個問題:設定JSP頁面的pageEncoding=”utf-8”,就不會出現中文亂碼;如果JSP頁面的pageEncoding=”
今天無聊中練習了一下PHP遍曆檔案目錄的程式,編寫了以下兩個程式,不過品質不是很好,輕拍~~~1、清除PHP快取檔案複製代碼 代碼如下:<?php function read_dir($dir,$file) { $a =strpos($file,".php"); if($a>0) {
自 PHP 5 起,可以很容易地通過在 $value 之前加上 & 來修改數組的元素。此方法將以引用賦值而不是拷貝一個值。 複製代碼 代碼如下:<?php$arr = array(1, 2, 3, 4);foreach ($arr as &$value) { $value = $value * 2;}// $arr is now array(2, 4, 6, 8)?>此方法僅在被遍曆的數組可以被引用時才可用(例如是個變數)。 複製代碼 代碼如下:&
PHP 4 引入了 foreach 結構,和 Perl 以及其他語言很像。這隻是一種遍曆數組簡便方法。foreach 僅能用於數組,當試圖將其用於其它資料類型或者一個未初始化的變數時會產生錯誤。有兩種文法,第二種比較次要但卻是第一種的有用的擴充。 複製代碼 代碼如下:foreach (array_expression as $value) statementforeach (array_expression as $key =>
在需要禁止訪問或提交表單的頁面添加下面的代碼進行判斷就可以了。注意:下邊只是一個PHP限制IP的執行個體代碼,如果您打算應用到CMS中,請自行修改。<?php /加IP訪問限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $userip = getenv('HTTP_CLIENT_IP'); }
本文執行個體講述了PHP中new static()與new self()的區別異同,相信對於大家學習PHP程式設計能夠帶來一定的協助。問題的起因是本地搭建一個站。發現用PHP 5.2 搭建不起來,站PHP代碼裡面有很多5.3以上的部分,要求更改在5.2下能運行。改著改著發現了一個地方return new static($val);這尼瑪是神馬,只見過return new self($val);於是上網查了下,他們兩個的區別。self - 就是這個類,是程式碼片段裡面的這個類。static -
替代文法是PHP程式設計中不常見到,有時卻又很重要的一個概念。今天本文就以執行個體形式展示了這一概念的用法。查看一下wordpress的代碼,裡面可以見到有些少見的php替代文法,如下所示:<?php else : ?> <div class="entry-content"> <?php the_content( __( 'Continue reading <span class="meta-nav">→</
如果想進入大的企業進行底層開發的話必須對互連網各方面的技術原理瞭解的很清楚,例如apache實現原理。語言方面既然是php開發自然對 c/c++要求比較高。往往需要自己寫php擴充。使用mysql自然想很多常見的,效能瓶頸要能有很好的解決方案。mysql
類常量是PHP物件導向程式設計中非常重要的一個概念,牢固掌握類常量有助於進一步提高PHP物件導向程式設計的水平。本文即以執行個體形式描述了PHP程式設計中類常量的用法。具體如下:類常量:類中,儲存運行周期內,不變的資料。定義:const 關鍵字const 常量名 = 常量值例子如下:class Student{public $stu_id;public $stu_name;public $stu_gender;const GENDER_MALE= '男';const GENDER_FEMALE
介面是PHP物件導向程式設計中非常重要的一個概念。本文以執行個體形式較為詳細的講述了PHP介面的用法。具體如下:介面:interface在PHP中,我們可以規定,一個對象應該具有哪些公用的外部操作,即可使用interface來規定。公用的方法就是介面。用於規定一個對象應該用於哪些公用的操作方法(介面),這個也叫介面(公用操作方法的集合)即:介面(interface結構,公用方法集合)公用方法(介面方法)定義:用於限定某個對象所必須擁有的公用操作方法的一種結構,稱之為介面(interface)文法
本文執行個體講述了PHP檔案快取內容儲存格式,對於進行PHP項目開發非常具有實用價值。分享給大家供大家參考借鑒。具體分析如下:1、PHP檔案快取內容儲存格式PHP檔案快取內容儲存格式主要有三種:(1)變數 var_export 格式化成PHP正常的賦值書寫格式;(2)變數 serialize 序列化之後儲存,用的時候還原序列化;(3)變數
什麼是多態性?多態性是繼資料庫抽象和繼承後,物件導向語言的第三個特徵。多態即多種形態,具有表現多種形態的能力特徵。在物件導向中表示根據對象的類型以不同方式處理。多態性允許每個對象以適合自身的方式去響應共同的訊息。多態性增強了軟體的靈活性和重用性。如我們建立一個doing()方法,如果是學生則列印上課,如是公司職員則列印上班。普通做法使用if判斷複製代碼 代碼如下:/** * PHP多態性 * 瓊台部落格 */ // 定義學生類class student{&
近來,有不博友問php.ini存在哪個目錄下?或者修改php.ini以後為何沒有生效?基於以上兩個問題,我覺得有必要教一下剛接觸PHP的博友們如何找到PHP調用php.ini的路徑目錄。一般安裝PHP環境無非有兩種平台,Linux環境下與WIN平台下。而WIN平台居多,因為現在套裝安裝包非常方便,如appserv、wamp一件安裝包等等。而Linux下也有LNMP一鍵安裝包,非常方便。由於這些安裝做了簡化,所以自然的許多博友就不太清楚環境安裝好了以後php.ini放在哪個目錄下,或者在某個目錄下
分頁功能是PHP程式設計中非常常見的功能,不同於以往的,今天本文介紹的是PHP基於數組實現的分頁函數。關於數組的分頁函數,用數組進行分頁的好處是可以方便的進行聯合多表查詢,只需要將查詢的結果放在數組中就可以了以下是數組分頁的函數,函數page_array用於數組的分頁,函數show_array用於分頁函數的操作及顯示,需要配合使用。兩個函數通過全域變數$countpage發生聯絡,此變數用於跟蹤總頁碼數。具體執行個體代碼如下:<?php/** * 數組分頁函數 核心函數
目錄的遍曆是PHP程式設計中經常會用到的一個功能,很多PHP項目都有這一功能模組。今天本文就來執行個體解析一下PHP採用自訂函數實現遍曆目錄下所有檔案的方法。具體方法如下:方法一:使用readir()遍曆目錄實現代碼如下:function listDir($dir){ if(is_dir($dir)) { if($handle = opendir($dir)) { while($file = readdir($handle)) {
簡單的檔案下載只需要使用HTML的串連標記<a>,並將屬性href的URL值指定為下載的檔案即可。所示:<a href=”http://www.jb51.net/download/book.rar”>下載檔案</a>如果通過上面的代碼實現檔案下載,只能處理一些瀏覽器不能預設識別的MIME類型檔案,例如當訪問book.rar檔案時,瀏覽器並沒有直接開啟,而是彈出一個下載提示框,提示使用者“下載”還是“開啟”等處理方式。但如果需要下載尾碼名為.html的網頁檔案、