Time of Update: 2016-07-29
通常變數通過下面這樣的語句來命名 : 複製代碼 代碼如下:$a = 'hello'; ?> 可變變數名指的是使用一個變數的值作為這個變數的名稱。在上面的例子中,通過使用兩個$符號,你可以把hello設定成一個變數的名稱,就像下面那樣。 複製代碼 代碼如下:$$a = 'world'; ?> 通過上面的兩個語句,有兩個變數被定義:變數$a,裝的內容是”hello” 以及變數$hello,裝的內容是 “world”。 於是,下面的語言: 複製代碼 代碼如下:echo "$a ${$a}"; ?>
Time of Update: 2016-07-29
清除空格的方法是不安全的,部分原因是因為字元中的空格非常多,例如 "addslashes的問題在 於駭客 可以用0xbf27來代替單引號,而addslashes只是將0xbf27修改為0xbf5c27,成為一個有效多位元組字元,其中的0xbf5c仍會 被看作是單引號,所以addslashes無法成功攔截。" 最好是按照具體的參數需求校正確定是 int 等不是,外加資料庫的參數操作方法.其實這個是資料庫的 sql 問題,應該從源頭資料庫本身來解決,只不過有些資料庫滑提供相應的方法罷了.
Time of Update: 2016-07-29
I has passed a small test to check which function is faster to create a new file. file_put_contents vs touch 複製代碼 代碼如下:for($i = ; $i { file_put_contents('dir/file'.$i, ''); } ?> Average time: 0,1145s 複製代碼 代碼如下:for($i = ; $i { touch('dir/file'.$i); }
Time of Update: 2016-07-29
1.使用MyISAM而不是InnoDB 完全錯誤,反駁理由: 首先原文說MyISAM是預設使用的,而實際上到了MySQL 5.5.x,InnoDB已經成為了預設的表引擎。 另外,簡單的使用InnoDB不是解決所有問題的方法,盲目的使用甚至會使應用效能下降10%乃至40%。 最佳方法還是針對具體業務具體處理,例如論壇中版塊表,新聞分類表,各種碼錶等長時間不操作的表,還是要用效能優異的MyISAM引擎。
Time of Update: 2016-07-29
複製代碼 代碼如下://取進位位上的數值 function getRemainder($num, $bin, $pos, &$result = 0){ //author lianq.net //$num 數值,十進位 //$bin 要轉換的進位 //$pos 位元 $real_len = log($num, $bin);//對數,求原值長度 $floor_len = floor($real_len);//捨去求整 $base = pow($bin, $pos-1);//基數 $divisor =
Time of Update: 2016-07-29
PHP手冊中對它的文法定義如下: for (expr1; expr2; expr3) statement 下面說說for語句幾種有用的變型。 1、無限迴圈 首先是人盡皆知的無限迴圈(亦可稱"死迴圈")。由於空運算式null在文法上是有效,所以我們可以把for語句的三個運算式留空,這樣就會產生不斷執行for嵌套語句的效果。 for (;;) { //放置需要不斷執行的語句 } ?>
Time of Update: 2016-07-29
現在每個人都有無數帳號密碼, 難免記不住; 原理是通過 郵件伺服器 pop 服務完成認證,也可以使用SMTP,並加SSL已提高安全性; 免去設定使用者/密碼麻煩,適合有自己郵件伺服器的場合, 需要PHPMailer, 請自行google PHP代碼 複製代碼 代碼如下:require_once('class.phpmailer.php'); require_once('class.pop3.php'); $username = getenv('username'); $password =
Time of Update: 2016-07-29
需要的工具和安裝: 你必須安裝下面的工具和軟體: –修改口令的Shell指令碼; – Sudo訪問權; – Apache or Lighttpd web伺服器; – PHP服務端程式。 步驟1:安裝可以修改使用者口令的shell指令碼 該指令碼可以實際用於修改Linux使用者的口令(已在Linux和FreeBSD測試)。 例子: shell指令碼代碼 #!/bin/sh # \ exec expect -f “$0″ ${1+”$@”} set
Time of Update: 2016-07-29
目前只實現了三個功能:1:圖片縮放,2:圖片裁剪,3:加圖片浮水印 在執行個體化中,通過給第二個參數傳不同的值,從而實現不同的功能 複製代碼 代碼如下:include "image.class.php"; $image=new image("2.png", 1, "300", "500", "5.png"); //使用圖片縮放功能 $image=new image("2.png", 2, "0,0", "50,50", "5.png"); //使用圖片裁剪功能 $image=new image(
Time of Update: 2016-07-29
1,filesize()函數返回錯誤的值。使用curl將某個頁面下載到本地時,需要將下載到的臨時檔案tmpHtml.txt的內容讀取到一個緩衝區中。由於我使用fread()進行讀取,需要傳入要讀取的大小,所以先用filesize(‘./tmpHtml.txt')擷取臨時檔案大小。怪異的是,擷取到的臨時檔案大小不正確,下斷點調試,在filesize()調用後,手工去硬碟上尋找檔案,檔案大小與filesize()得到的結果不一樣。
Time of Update: 2016-07-29
複製代碼 代碼如下:/* +--------------------------------------------------------------------------+ | Codz by indexphp Version:0.01 | | (c) 2009 indexphp | | http://www.indexphp.org | +--------------------------------------------------------------------------+
Time of Update: 2016-07-29
登入原理還是蠻複雜的,像我這樣以為curl擷取頁面再post上去的想法真是太單純了。 整理下遇到的價格處理字串的函數: 複製代碼 代碼如下:$encryption = "username"; echo base64_encode ($encryption);//echo "dXNlcm5hbWU= "; echo ""; echo urlencode("http://".$encryption);//echo " http%3A%2F%2Fusername "; echo ""; echo
Time of Update: 2016-07-29
scanner.php 複製代碼 代碼如下:/**************PHP Web木馬掃描器************************/ /* [+] 作者: alibaba */ /* [+] QQ: 1499281192 */ /* [+] MSN: weeming21@hotmail.com */ /* [+] 首發: t00ls.net , 轉載請註明t00ls */ /* [+] 版本: v1.0 */ /* [+] 功能: web版php木馬掃描工具 */ /* [+]
Time of Update: 2016-07-29
在PHP中調用IE使用如下代碼: 複製代碼 代碼如下:browser = new COM("InternetExplorer.Application"); 無法正常調用,直接報錯: 複製代碼 代碼如下:Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `InternetExplorer.Application': 拒絕訪問。
Time of Update: 2016-07-29
這幾天,工作中遇到一個小問題,有一內容類型的欄位儲存的是語言,因為這寫資料是用Excel匯入做的,所以為了處理簡單,很多的語言就用逗號分隔,把所有語言做一個字串,這樣存入的時候就簡單的多。但是由於當初資料品質的問題,有一部分“Chinese”是 “Mandarin Chinese”,現在需要把所有的“Mandarin Chinese”改為“Chinese”。
Time of Update: 2016-07-29
複製代碼 代碼如下: 假定設定了UrlManager的配置為Path模式,用yii預設的配置: 複製代碼 代碼如下:'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( '/'=>'/view', '//'=>'/', '/'=>'/', ), ), 上面兩行代碼會生產什麼樣的連結地址? http:///user/register //錯誤連結 http:///index.php/user/register //正確連結
Time of Update: 2016-07-29
一,擷取指定日期的unix時間戳記 strtotime("2009-1-22") 樣本如下: 1.echo strtotime("2009-1-22") 結果:1232553600 說明:返回2009年1月22日0點0分0秒時間戳記 二,擷取英文文本日期時間 樣本如下: 便於比較,使用date將當時間戳記與指定時間戳記轉換成系統時間 (1)列印明天此時的時間戳記strtotime("+1 day") 目前時間: 1.echo date("Y-m-d H:i:s",time()) 結果:2009-
Time of Update: 2016-07-29
分享一個實際在用的函數: 複製代碼 代碼如下:/*比file_get_contents穩定的多!$timeout為逾時時間,單位是秒,預設為1s。*/ function curl_get_contents($url,$timeout=1) { $curlHandle = curl_init(); curl_setopt( $curlHandle , CURLOPT_URL, $url ); curl_setopt( $curlHandle , CURLOPT_RETURNTRANSFER, 1
Time of Update: 2016-07-29
看到有人在有漢字的字串 前加一個 ‘ 或是任意半形符號,讓bug將其除掉,不過這樣做太麻煩了。最後呢,找來一個類比fgetcsv功能的函數。 複製代碼 代碼如下:function __fgetcsv(& $handle, $length = null, $d = ‘,', $e = ‘”‘) { $d = preg_quote($d); $e = preg_quote($e); $_line = “”; $eof=false; while ($eof != true) { $_line .= (
Time of Update: 2016-07-29
複製代碼 代碼如下:$now=time(); //目前時間 $StrUpdate = "Update $tbl_article set hits=hits+1"; if(date("d",$lasthittime)==date("d",$now)){//同一天 $StrUpdate = $StrUpdate.",dayhits = dayhits+1"; }else{ $StrUpdate = $StrUpdate.",dayhits = 0"; }