Time of Update: 2017-01-19
1. isset功能:判斷變數是否被初始化說明:它並不會判斷變數是否為空白,並且可以用來判斷數組中元素是否被定義過注意:當使用isset來判斷數組元素是否被初始化過時,它的效率比array_key_exists高4倍左右複製代碼 代碼如下:$a = '';$a['c'] = '';if (!isset($a)) echo '$a 未被初始化' . "";if (!isset($b)) echo '$b 未被初始化' . "";if (isset($a['c'])) echo '$a
Time of Update: 2017-01-19
看手冊說define定義的常量只允許:僅允許標量和 null。標量的類型是 integer, float,string 或者 boolean。 也能夠定義常量值的類型為 resource ,但並不推薦這麼做,可能會導致未知狀況的發生。今天閱讀php源碼,發現define的第二個參數其實也可以是一個對象。先貼一段樣本:複製代碼 代碼如下:class A { public function __toString()
Time of Update: 2017-01-19
在指南的開始,我們說過資料過濾在任何語言、任何平台上都是WEB應用安全的基石。這包含檢驗輸入到應用的資料以及從應用輸出的資料,而一個好的軟體設計可以協助開發人員做到:確保資料過濾無法被繞過,確保不合法的資訊不會影響合法的資訊,並且識別資料的來源。關於如何確保資料過濾無法被繞過有各種各樣的觀點,而其中的兩種觀點比其他更加通用並可提供更進階別的保障。調度方法這種方法是用一個單一的 php 指令碼調度(通過
Time of Update: 2017-01-19
無論是PHP,還是其他的服務端指令碼都提供了檔案上傳功能,實現起來也比較簡單。而利用JavaScript來配合,即可實現Ajax方式的檔案上傳。雖然jQuery本身沒有提供這樣的簡化函數,但有不少外掛程式可以實現。其中,Phpletter.com提供的ajaxfileupload.js是一個輕量的外掛程式,而且編寫方式與jQuery提供的全域方法$.post()非常相似,簡單易用。不過,該外掛程式實在太簡化了,除了可提供需上傳檔案的路徑外,也就不能傳遞額外的值到後台服務端。所以,我修
Time of Update: 2017-01-19
本文介紹了使用jQuery、PHP和MySQL實作類別似360安全衛士防火牆開啟關閉的開關,可以將此功能應用在產品功能的開啟和關閉功能上。準備工作為了更好的示範本例,我們需要一個資料表,記錄需要的功能說明及開啟狀態,表結構如下:複製代碼 代碼如下:CREATE TABLE `pro` ( `id` int(11) NOT NULL auto_increment, `title` varchar(50) NOT NULL,
Time of Update: 2017-01-19
header() 函數向用戶端發送原始的 HTTP 前序。複製代碼 代碼如下:<?php//200 正常狀態header('HTTP/1.1 200 OK');// 301 永久重新導向,記得在後面要加重新導向地址 Location:$urlheader('HTTP/1.1 301 Moved Permanently');// 重新導向,其實就是302 暫時重新導向header('Location: http://www.maiyoule.com/');// 設定頁面304
Time of Update: 2017-01-19
在web開發中對象的序列化與還原序列化經常使用,比較主流的有json格式與xml格式的序列化與還原序列化,今天想寫個jsop的小demo,結果發現不會使用php序列化,查了一下資料,做個筆記簡單數組json格式序列化/還原序列化php提供了json_encode和json_decode函數對對象進行json格式序列化/還原序列化操作$data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('C
Time of Update: 2017-01-19
錯誤提示: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent原因:在session_start()之前如果有輸出內容,會出錯,解決辦法:在session_start()之前加上ob_start();index.php 複製代碼 代碼如下:<?php error_reporting(-1); ob_start();/
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php $file = 'monkey.gif'; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition:
Time of Update: 2017-01-19
當你在發送郵件時,你或許很想知道該郵件是否被對方已閱讀。這裡有段非常有趣的程式碼片段能夠顯示對方IP地址記錄閱讀的實際日期和時間。 複製代碼 代碼如下: <? error_reporting(0); Header("Content-Type: image/jpeg"); //Get IP if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif
Time of Update: 2017-01-19
今天碰到一個關於php變數記憶體配置的問題,記錄一下。如下這段代碼: 複製代碼 代碼如下: $a = array ( 'str' => 1, 'child' => 2 ); $b = $a; $b['child'] = $a; $b['child']['str'] = 2; echo $b['str']; $b = null; echo $a['str']; 會輸出什麼呢,結果是11,$b=$a的時候其實並沒有新分配記憶體,ab是指向的同一個地區,$b['child']=$a時,$
Time of Update: 2017-01-19
JSON 基礎簡單地說,JSON 可以將 JavaScript 對象中表示的一組資料轉換為字串,然後就可以在函數之間輕鬆地傳遞這個字串,或者在非同步應用程式中將字串從 Web 客戶機傳遞給伺服器端程式。這個字串看起來有點兒古怪(稍後會看到幾個樣本),但是 JavaScript 很容易解釋它,而且 JSON 可以表示比成對的名稱和數值更複雜的結構。例如,可以表示數組和複雜的對象,而不僅僅是鍵和值的簡單列表。簡單 JSON 樣本按照最簡單的形式,可以用下面這樣的 JSON 表示成對的名稱和數值:{
Time of Update: 2017-01-19
UTF-8匹配: 在javascript中,要判斷字串是中文是很簡單的。比如: 複製代碼 代碼如下: var str = "php編程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("該字串全部是中文"); }else{ alert("該字串不全部是中文"); } //php中,是用\x表示十六進位資料的。於是,變換成如下的代碼: $str = "php編程"; if (preg_match("/^[\x4e00-\x9fa5]+$/",$str))
Time of Update: 2017-01-19
因為php的配置一般用資料,正好和js裡的對象表示一般,所以可以這樣: 複製代碼 代碼如下: <script type="text/javascript" src="http://www.google.com/jsapi"></script> 複製代碼 代碼如下: var $strings={}; $strings['hide']='hide'; $strings['show']='show'; google.load("language", "1");
Time of Update: 2017-01-19
複製代碼 代碼如下: function array_sort($array, $key){ if(is_array($array)){ $key_array = null; $new_array = null; for( $i = 0; $i < count( $array ); $i++ ){ $key_array[$array[$i][$key]] = $i; } ksort($key_array); $j = 0; foreach($key_array as $k => $v)
Time of Update: 2017-01-19
1.把html元素全部去掉,或者保留某幾個html標籤複製代碼 代碼如下:<?php$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';echo strip_tags($text);echo "/n";// Allow <p> and <a>echo strip_tags($text,
Time of Update: 2017-01-19
今天突然想給本站做個搜尋網頁面,這樣使用者可以通過搜尋來找到自己喜歡的內容,也避免了在海量資訊中手動尋找資源的麻煩,我的目標和百度首頁的效果類似,當使用者輸入要搜尋的文字時,我們在下方給出相關的十條資訊,如果使用者要找的就是這十條資訊內的某一條,那麼簡單,直接點擊就可在新頁面中開啟頁面,主要就是想更人性化一點,讓使用者使用起來更方便。先看一下效果圖吧,這樣更有動力,要不然大家還不知道我在講什麼,到底要達到什麼樣的效果!jquery+php實現搜尋方塊自動提示下面先主要講解原理:在search.h
Time of Update: 2017-01-19
開啟editor/filemanager/connectors/php目錄下commands.php,找到FileUpload函數,在複製代碼 代碼如下:$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ; $sExtension = strtolower( $sExtension ) ;後添加複製代碼 代碼如下:$sFileName =
Time of Update: 2017-01-19
與C語言中的指標是有差別的.C語言中的指標裡面儲存的是變數的內容在記憶體中存放的地址變數的引用.PHP 的引用允許你用兩個變數來指向同一個內容 複製代碼 代碼如下:$a="ABC"; $b =&$a; echo $a;//這裡輸出:ABC echo $b;//這裡輸出:ABC $b="EFG"; echo $a;//這裡$a的值變為EFG 所以輸出EFG echo $b;//這裡輸出EFG 函數的傳址調用 傳址調用我就不多說了 下面直接給出代碼 複製代碼 代碼如下:function test(&
Time of Update: 2017-01-19
廢話不多說, 直接看代碼:複製代碼 代碼如下:<?php$dbh = new PDO('mysql:host=localhost;dbname=test', "test");$query = <<<QUERY INSERT INTO `user` (`username`, `password`) VALUES (:username, :password);QUERY;$statement =