Time of Update: 2016-07-15
我們可以使用PHP抓取天氣預報絕對精簡代碼 form method="post"> input name="a" type="text" id="a" /> input type="submit" name="Submit" value="查" /> form> ?php $city = $_REQUEST["a"]; if ($city=="") { $city="菏澤"; } $url = '
Time of Update: 2016-07-15
在pear中好像也有這種解析類,另外網上搜尋一下php解析,還能找到各種各樣自己編寫的php解析xml的類。DOM function 即文件物件模型函數,屬於比較底層的XML操作,跟C#的XML操作一樣,無論寫還是讀一個XML要寫比較多的代碼。而PHP文法解析函數中的XML解析器(sax)則是高層點的函數庫,要自己構建3個函數,而且要直接用這三的函數來返回資料,要求較強的邏輯。在處理不同結構的 xml
Time of Update: 2016-07-15
PHP亂碼問題1、PHP 如何處理上傳的CSV檔案?可以用fgetcsv函數: -- 從檔案指標中讀入一行並解析 CSV 欄位,但他無法處理裡邊的中文;所以在上傳後,要先把csv轉一下編碼;PHP亂碼問題2、編碼轉換;iconv("GB2312","UTF-8//IGNORE",file_get_contents($uploadfile)); ignore的意思是忽略轉換時的錯誤; 但用另一個函數似乎更好一些mb_convert_encoding;PHP亂碼問題3、Jmail
Time of Update: 2016-07-15
由於XMLHTTP採用的是Unicode編碼上傳資料,而一般頁面採用的是gb2312,這就造成顯示頁面時產生亂碼。而當在擷取頁面時的XMLHttp返回的是utf-8編碼,這就造成了顯示產生亂碼。PHP
Time of Update: 2016-07-15
在在指南的開始,我們說過資料過濾在任何語言、任何平台上都是WEB應用安全的基石。這包含檢驗輸入到應用的資料以及從應用輸出的資料,而一個好的軟體設計可以協助開發人員做到:確保PHP資料過濾無法被繞過,確保不合法的資訊不會影響合法的資訊,並且識別資料的來源。關於如何確保資料過濾無法被繞過有各種各樣的觀點,而其中的兩種觀點比其他更加通用並可提供更進階別的保障。PHP資料過濾調度方法這種方法是用一個單一的PHP指令碼調度(通過
Time of Update: 2016-07-15
我們在使用PHP變數1.定義常量define("CONSTANT", "Hello world."); 常量只能包含標量資料(boolean,integer,float 和 string)。 調用常量時,只需要簡單的用名稱取得常量的值,而不能加“$”符號,如:echo CONSTANT; 注: 常量和(全域)變數在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。PHP變數2.普通變數$a = "hello";PHP變數3.可變變數(使用兩個貨幣符號($
Time of Update: 2016-07-15
初學下面這個PHP Substr庫函數程式不算完美,但處理一般的中文(GB18030,GB2312,BIG5)是沒有問題的。這個函數不適合utf-8編碼的文字。//$str字串 //$max 最大字元數 function Substring($str,$max){ $cnt=0; //實際計數 $index=0; //當前索引 $output=''; //輸出 // while($cnt$max && $indexstrlen($str)){
Time of Update: 2016-07-15
我們在使用1、使用mbstring擴充庫的mb_substr截取就不會出現亂碼了。2、自己書寫截取函數,但效率不如用mbstring擴充庫來得高。3、如果僅是為了輸出截取的串,可用如下方式實現:substr($str, 0,
Time of Update: 2016-07-15
大家都知道,提高PHP運行效率1,在函數中,傳遞數組時 使用 return 比使用 global 要高效比如 function userloginfo($usertemp){ $detail=explode("|",$usertemp); return $detail; } $login=userloginfo($userdb); 比 function userloginfo($usertemp){ global
Time of Update: 2016-07-15
在在瞭解了usort自訂排序後,我們再來看看sort(),這個函數可謂是數組裡的排序函數的鼻祖,大家肯定發現所有的PHP數組排序函數都會帶有sort作為尾碼。函數原型:bool sort ( array &array [, int sort_flags] )說明:基本上每個函數都會有個可選的參數,sort也不例外。這個選擇性參數指明的一種習慣。可選類型有如下幾種:◆SORT_REGULAR – 正常比較單元(不改變類型) //按照ASCII值排序(B大於a)◆SORT_NUMERIC –
Time of Update: 2016-07-15
關於可是有的人說對PHP的站如果是GPC魔術轉換開啟,就會對特殊符號轉義,就徹底杜絕了PHP注入。其實說這話的人沒有好好想過,更沒有嘗試過用萬能密碼進PHP的後台。其實GPC魔術轉換是否開啟對用PHP萬能密碼進後台一點影響也沒有。如果你用這樣的萬能密碼'or'='or',當然進不去,理由是GPC開啟的時候單引號會被轉換。PHP注入時我常用的PHP萬能密碼是:'or 1=1/*.那我們分析一下為什麼這可以進後台。如果sql語句這樣寫:"SELECT * FROM admin where name=
Time of Update: 2016-07-15
PHP儲存session預設的是採用的檔案的方式來儲存的,這僅僅在檔案的空間開銷很小的windows上是可以採用的,但是如果我們採用uinx或者是liux上的檔案系統的時候,這樣的檔案系統的檔案空間開銷是很大的,然而session是要時時刻刻的使用的,大量的使用者就要建立很多的session檔案,這樣對整個的伺服器帶來效能問題。另一方面,如果伺服器起採用群集的方式的話就不能保持session的一致性,所以我們就緒要採用資料庫的方式來儲存session,這樣,不管有幾台伺服器同時使用,只要把他們的
Time of Update: 2016-07-15
我們在實際的編碼中經常會用到取整的需求,今天我們就為大家詳細介紹了一些PHP浮點類型取整之ceil -- 進一法取整 說明 float ceil ( float value ) 返回不小於 value 的下一個整數,value 如果有小數部分則進一位。ceil() 返回的類型仍然是 float,因為 float 值的範圍通常比 integer 要大。例子 1. ceil() 例子 ?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 ?>
Time of Update: 2016-07-15
我們也許對這裡的頁內跳轉不同等於html的書籤之類的跳轉,而是php程式通過URL的尾參數的改變在同一個程式裡提供不同的Web內容。試比較以下兩個URL:http://www.gxblk.com/pc/index.phphttp://www.gxblk.com/pc/index.php?page=2以上兩個URL,其區別是第二個URL地址多一個參數(?page=2),我們在實際開啟它們時,在瀏覽器中得到的內容是不一樣的,而點擊時它們在同一頁內跳轉。這是使用PHP變數php_self實現的,使用者
Time of Update: 2016-07-15
許多新手對於為了實現後一種,你將需要合理設定MySQL使用者,他只能對允許的資料庫進行讀/寫。那要等到你看過MySQL手冊中相關的部分。快速安裝phpMyAdmin 將phpMyAdmin軟體包解到一個目錄下。開啟config.inc.php3,根據你的環境,修改$cfgServers[1]["host"],$cfgServers[1]["user"]和
Time of Update: 2016-07-15
我們在使用PHP關鍵字global如果用在function內部,則說明這個function內用的這個變數是全域的,全域變數就是在整個頁面裡都能起作用。例如 $conf = 1; function conf_test() { global $conf; return ++$conf; } echo conf_test()." br>"; echo conf_test()." br>"; 輸出:23如果沒有global
Time of Update: 2016-07-15
如何正確的理解在PHP中預設有一個"魔術引號"的開關, 如果這個開關開啟, 從外部轉入的$_GET, $_GET, $COOKIE都會PHP轉義.比如:http://localhost/test.PHP?test=1'然後在test.PHP輸出時自動轉義, 輸出如下:var_dump($_GET['test'];========output=======string(3) "1'"所示 ' 號被加入了轉義了.但這裡有一個問題, 當將這個值輸出到網頁時會看到滿屏的, 這裡可以使用另一個函數,
Time of Update: 2016-07-15
一個程式的編寫難免會出現各種各樣的錯誤,那麼我如何來處理這些錯誤,或將錯誤顯示出來方便我們尋找更改呢?這就用到了異常處理。這裡我們將向大家介紹5異常處理的相關概念。PHP5異常處理PHP 5 添加了類似於其它語言的異常處理模組。在 PHP 代碼中所產生的異常可被throw語句拋出並被catch語句捕獲。需要進行異常處理的代碼都必須放入 try 代碼塊內,以 便捕獲可能存在的異常。每一個 try 至少要有一個與之對應的 catch。使用多個 catch 可以捕獲不同的類所產生的異常。當 try
Time of Update: 2016-07-15
我們在進行注意:以下假定使用者使用PHP5,window系統!安裝phpDocumentor第一種方法:下載後,如果希望使用命令列介面,解壓到任意路徑(假設在C:Program Files),修改C:Program FilesPhpDocumentor-1.4.2phpdoc.bat。把第一行修改SET phpCli=C:usrlocalphpcliphp.exe令等號右邊的值為php.exe的路徑,我的機器是SET phpCli=D:php5php.exe。在命令列輸入C:Program
Time of Update: 2016-07-15
使用 Switch 語句可以避免冗長的 if..elseif..else 代碼塊。PHP Switch語句工作原理:對錶達式(通常是變數)進行一次計算 把運算式的值與結構中 case 的值進行比較 如果存在匹配,則執行與 case 關聯的代碼 代碼執行後,break 語句阻止代碼跳入下一個 case 中繼續執行 如果沒有 case 為真,則使用 default 語句 ?php switch ($d=date("D")) { case "Mon"; echo "周一";