Time of Update: 2016-07-13
分享一個php過濾字串函數,具體代碼如下:function StripHTML($string){$pattern=array ("''si", "''si", "']*?>'si", "'([\r\n])[\s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i",
Time of Update: 2016-07-13
今天偶然的情況下在CodeIgniter的官方文檔中再次看到了php中的call_user_func_array()這個函數,去年也在discuz論壇的代碼中也有遇到過,今天在網上查了一下這個函數的用法,下面來和大家分享一下這個call_user_func_array和call_user_func函數的用法,另外附贈func_get_args()函數和func_num_args()函數的用法說明。call_user_func函數是當需要動態調用函數時,才使用的,這個函數有兩種用法,下面分別說明:
Time of Update: 2016-07-13
本篇文章主要說明的是在php中,如何擷取一個數組的第一個數組單元的值的方法。在php的內建函數中,擷取數組元素值的函數主要有 reset next current prev end 這幾個函數。reset (PHP 3, PHP 4, PHP 5)函數定義 mixed reset ( array &array )作用:該函數將 array 的內部指標倒回到第一個單元並返回第一個數組單元的值,如果數組為空白則返回 FALSE。例如:next (PHP 3, PHP 4, PHP 5)函數定義
Time of Update: 2016-07-13
Snoopy是一個用來類比瀏覽器的一些簡易功能的php類,可以擷取網頁內容,發送表單等操作。Snoopy正確運行需要你的伺服器的PHP版本在4以上,並且支援PCRE(Perl Compatible Regular Expressions),基本的LAMP服務都支援。由於它本身是php一個類,無需擴支援,因此在伺服器不支援curl的時候是最好的選擇。Snoopy的特點:1、抓取網頁的內容 fetch2、抓取網頁的常值內容 (去除HTML標籤) fetchtext3、抓取網頁的連結,表單
Time of Update: 2016-07-13
用過smarty做過php開發的朋友應該都知道在smarty模板裡面判斷foreach迴圈是否是最後一個可以用$smarty.foreach.name.last來判斷迴圈是否到了最後一條記錄,在thinkphp中如何判斷呢?在thinkphp的模板中常見的迴圈是volist,而volist的各種屬性中並沒有直接判斷這個的,下面就說下在thinkphp
Time of Update: 2016-07-13
本站以前分享過一個檔案下載的函數,具體文章串連地址如下:PHP檔案下載函數(代碼)
Time of Update: 2016-07-13
php中有一個不為很多人所用的超全域變數$GLOBALS。合理使用這個變數能使工作變得更加有效率,本篇文章主要分析一下這個超全域變數的用法以及$GLOBALS和global的區別。$GLOBALS定義:引用全域範圍中可用的全部變數(一個包含了全部變數的全域群組合數組。變數的名字就是數組的鍵),與所有其他超全域變數不同,$GLOBALS在PHP代碼中任何地方總是可用的,自己可以通過列印$GLOBALS這個變數的結果就知道了。在PHP生命週期中,定義在函數體外部的所謂全域變數,函數內部是不能直接獲得
Time of Update: 2016-07-13
使用thinkphp做開發的過程中的一些技巧總結,以後發現了還會繼續補充,也歡迎更多的朋友在下面留言補充。(1)不要在模板中直接使用{$_GET.id}或者{$Think.get.id},因為{$_GET.id} {$Think.get.id} 這兩種方式都沒有任何過濾,容易被XSS。建議使用I方法,即:{:I('get.id')}(2)在thinkphp中如果需要擷取資料庫中某個表的欄位該怎麼辦呢?樣本如下:$user=M('user');$fields=$user->getDbFields(
Time of Update: 2016-07-13
本文將介紹如何通過 PHP 函數處理,輕鬆產生製作各種第三方下載工具(比如迅雷,快車,QQ旋風)的下載連結資料,並直接輸出到前台上,同時也可以將轉換過的連結還原為原始的下載地址。該功能所用到的 PHP 函數主要是下面兩個:1. base64_encode: 用於以 base64 方式加密字串;2. base64_decode: 用於解密以 base64
Time of Update: 2016-07-13
對網站發動XSS攻擊的方式有很多種,僅僅使用php的一些內建過濾函數是對付不了的,即使你將filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags這些函數都使用上了也不一定能保證絕對的安全。現在有很多php開發架構都提供關於防XSS攻擊的過濾方法,下面和大家分享一個預防XSS攻擊和ajax跨域攻擊的函數,摘自某開發架構,相比於僅僅使用內建函數應該還是夠強了的吧。function xss_clean($
Time of Update: 2016-07-13
本篇文章主要分項了一下關於php類中的$this,static,final,const,self這幾個關鍵字使用方法。$this$this表示當前執行個體,在類的內部方法訪問未聲明為const及static的屬性時,使用$this->value='phpernote';的形式。常見用法如:$this->屬性$this->方法舉例如下:name=$name;}public function getname(){return $this->name;}public function
Time of Update: 2016-07-13
在PHP程式中,如何判斷一個網頁請求是ajax請求還是普通請求?我們在做項目中經常會存在這樣一個問題,在瀏覽器中直接輸入我ajax提交的地址後,瀏覽器就能直接請求資料並將資料列印到頁面上。從程式的嚴謹性上和安全上來說,我覺得這樣非常不好。但是由於水平有限,這個問題直到今天才被我解決,特此留下文章以供有此需要的人學習。首先說說原理:在發送ajax請求的時候,我們可以通過XMLHttpRequest這個對象,建立自訂的header頭資訊,如果您使用的是原生的ajax方法,也就是未使用jquery或者
Time of Update: 2016-07-13
利用php產生word文檔,產生的word檔案可以用word,wps等軟體開啟。具體代碼如下:function word($data,$fileName=''){if(empty($data)) return '';$data=''.$data.'';if(empty($fileName))
Time of Update: 2016-07-13
在smarty模板中判斷數組是否為空白有兩種方法,下面一一舉例分享。(1)使用php count函數{if $array|@count gt 0}... ...{/if}(2)這個寫法很奇怪,今天是因為第一種方法不行了才在網上找找看,就找到下面這種奇怪的寫法了。{if count($array) gt 0}...
Time of Update: 2016-07-13
thinkphp
Time of Update: 2016-07-13
ThinkPHP 3.1.3貌似沒有內建的截取中文字串的方法,找了半天沒找到,下面作者自己加了一個截取中文字串的函數,具體代碼如下,有需要的朋友可以參考下。以下代碼加在項目所在目錄的Common目錄下的common.php檔案裡面的,比如作者的就是www/Common/common.php檔案,當然你也可以直接加到thinkphp的Common/common.php檔案裡面,這樣就所有的項目都可以使用了。function
Time of Update: 2016-07-13
在做項目的過程中,需要用到like關鍵字來組合查詢條件,下面作者將在thinkphp中使用到的 like 查詢做一下分享。這裡主要通過舉例來說明用法:$userForm=M('user');$where['name']=array('like','phpernote%');$userForm->where($where)->select();這裡的like查詢即為:name like
Time of Update: 2016-07-13
smarty視頻教程分享,下面是具體的下載地址,有需要的朋友可以看看,對smarty模板講解的非常詳細,作者粗略看了一下目錄,真是詳細到細枝末節該講到的都降到了,真是學習smarty的朋友不可多得的兩部視頻教程。非常值得想要學習smarty的朋友看看,下面分享給大家。後盾smarty視頻教程下載:http://pan.baidu.com/share/link?shareid=402071&uk=3691042152傳智播客smarty視頻教程下載:http://pan.baidu.com/sha
Time of Update: 2016-07-13
ThinkPHP內建的模板引擎是一個自主創新的XML編譯性模板引擎,下面通過一個案例分享一些ThinkPHP內建的模板引擎常用的模板標籤的用法,包括變數輸出、迴圈、判斷、比較等,這些都是比較基礎的用法,無法包括ThinkPHP內建模板引擎的全部標籤和特性。(1)下面是控制器 IndexAction 類的源碼1,'name'=>'ThinkPHP','email'=>'liu21st@gmail.com'); $this->assign('vo',$vo); $obj
Time of Update: 2016-07-13
自動驗證與自動填滿是在使用thinkphp時經常用到的功能,但偶爾會碰到到自動驗證與自動填滿不起作用的情況,本文就thinkphp 自動驗證與自動填滿無效可能的原因做一些分析並提出相應的解決辦法。(1)create() 方法有問題ThinkPHP 自動驗證與自動填滿是在建立資料對象 create() 時實現的,因此自動驗證與自動填滿無效很大程度上與 create() 有關。create 方法文法如下:create(mixed data, string type)data