複製代碼 代碼如下: function my_addslashes($string, $force = 0) { !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); if(!MAGIC_QUOTES_GPC || $force) { if(is_array($string)) { foreach($string as $key => $val) { $string[$key] =
複製代碼 代碼如下: //PHP整站防注入程式,需要在公用檔案中require_once本檔案 //判斷magic_quotes_gpc狀態 if (@get_magic_quotes_gpc ()) { $_GET = sec ( $_GET ); $_POST = sec ( $_POST ); $_COOKIE = sec ( $_COOKIE ); $_FILES = sec ( $_FILES ); } $_SERVER = sec ( $_SERVER ); function
說明: 1,在伺服器緩衝了壓縮過的檔案,再次訪問減少再壓縮時間,降低CPU佔用率。 2,通過設定用戶端檔案快取時間,降低再次請求次數,可降低85%以上。 3,圖片因為已經是壓縮格式,只是設定用戶端緩衝時間,不做壓縮處理。 使用方法: 1,伺服器必須支援gzip,Rewrite功能。 2,在.htacess檔案的“RewriteBase /”下面一行添加下面的代碼,見圖 RewriteRule (.*.css$|.*.js$|.*.jpg$|.*.gif$|.*.png$) gzip.php?$1
項目結構:運行效果;conn.php 複製代碼 代碼如下: class ConnectionMySQL{ //主機 private $host="localhost"; //資料庫的username private $name="root"; //資料庫的password private $pass=""; //資料庫名稱 private $table="phptest"; //編碼形式 private $ut="utf-8"; //建構函式 function __construct(){
思維導圖 點擊,查看大圖。 介紹 條件邏輯有可能十分複雜,因此本章提供一些重構的手法,專門用來簡化它們。 全文簡述(你可直接跳過下面的內容) 核心重構:Decompose Conditional——分離”轉轍邏輯“(switching logic)和”操作細節“(details)分離。 多處測試有相同結果:Consolidate Conditional Expresssion 條件代碼中去掉重複成分:Consolidate Duplicate 標識特殊情況:Replace
複製代碼 代碼如下: /** * @author seraphim * @copyright 2012 */ $ADMIN = array( 'defaulturl'=> 'http://www.xx.com/images/banner-header.gif', //盜鏈返回的地址 'url_1' => 'http://www.xx.net/file', 'url_2' => 'http://www.xx.net/file1', ); $okaysites = array(
主要函數是file_get_contents,主程式分兩段,跟我一起看過來吧(凡人部落格原創代碼,轉載請註明)。 複製代碼 代碼如下: function escape($str){ preg_match_all('/[\x80-\xff].|[\x01-\x7f]+/',$str,$r); $ar = $r[0]; foreach($ar as $k=>$v){ if(ord($v[0]) $ar[$k] = rawurlencode($v); else $ar[$k] =
思維導圖 介紹 承接上文的PHP 雜談《重構-改善既有代碼的設計》之 重新組織你的函數繼續重構方面的內容。 這章主要針對資料的重構。 1、爭論的聲音——直接存取Field還是通過函數(Accessor)訪問Field 2.修改Array為Object:當你看到一個Array很像一個資料結構,你可以使用Replace Array with Object,把Array變成一個對象。——資料結構更清晰。 專業術語
先說說,這個機制的用途吧,到現在為止戰地知道這個機制有兩個方面的用途: 首先,多伺服器共用session問題,這個大家應該都能夠理解的,當一個網站的使用者量過大,就會使用伺服器叢集,例如專門有一個登入用的伺服器。使用者通過登入伺服器登入之後,登入伺服器儲存了使用者的登入資訊session,而其他受訪問的伺服器,例如電影伺服器沒有這個session,那麼我們就要通過一個session的唯一標識來共用這個session了——具體session的共用超出了本文的範圍,請自行查閱資料。 第二個用途就是,
項目結構:上傳首頁:上傳效果:fileupload.php 複製代碼 代碼如下: //print_r($_FILES["upfile"]); if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ $upfile=$_FILES["upfile"]; //擷取數組裡面的值 $name=$upfile["name"];//上傳檔案的檔案名稱 $type=$upfile["type"];//上傳檔案的類型 $size=$upfile["size"]
思維導圖 索引:Ø Move Method(搬移函數)Ø Move Field (搬移範圍)Ø Extract Class (提煉類)Ø Inline Class (將類內聯化,就是把當前的類合并到其他類中)Ø Hide Delegate (隱藏委託關係)Ø Remove Middle Man ( 移除中間人)Ø Introduce Foreign Method (引入外加函數)Ø
項目結構:添加頁面: 說明:這裡只注重操作,對介面的美工沒有下工夫,希望大家理解......列表頁面:修改頁面:項目中所需的sql: 複製代碼 代碼如下: create database form; use form; CREATE TABLE `message` ( `id` tinyint(1) NOT NULL auto_increment, `user` varchar(25) NOT NULL, `title`
思維導圖 點擊,可以看大圖。 介紹 我把我比較喜歡的和比較關注的地方寫下來和大家分享。上次我寫了篇《php 跟老大的對話》。還是有很多疑問,這書幫了我不少的忙。 如果你比較繁忙,或者懶得看文字,建議你直接看,也會有很大的收穫的。你可以通過比較中的代碼就能知道孰優孰劣了。 代碼部分我為什麼用圖呢?因為我經常用手機看代碼,部落格園的代碼在手機裡亂七八糟的,還是看圖比較舒服。 專業術語
找到原因後,在網上搜尋到了一些關於PHP的時區設定方法: 1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;號,然後設定data.timezone = “Asia/Shanghai”;即可。 2、在程式PHP 5以上版本的程式碼中使用函數ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set(‘Asia/Shanghai'); 一些常用的時區標識符說明:
複製代碼 代碼如下: function sendHeader($num, $rtarr = null) { static $sapi = null; if ($sapi === null) { $sapi = php_sapi_name(); } return $sapi++; 看PW源碼的時候發現setHeader()函數中使用static關鍵字,很奇怪,以前也沒這樣用過。 static用在函數裡面,聲明一次變數後,如果再次調用這個函數將會在初始值延續,如$sapi這裡將累加。
複製代碼 代碼如下: $file="aa.php" ; $code=""; $f=fopen($file,"r+"); $content=fread($f,filesize($file)); fclose($f); if(!strstr($content,$code)){ $arrInsert = insertContent($file, $code, 3); unlink($file); foreach($arrInsert as $value) {
number_format() 函數通過千位分組來格式化數字。 文法 number_format(number,decimals,decimalpoint,separator) 參數描述number必需。要格式化的數字。如果未設定其他參數,則數字會被格式化為不帶小數點且以逗號 (,) 作為分隔字元。decimals可選。規定多少個小數。如果設定了該參數,則使用點號 (.)
複製代碼 代碼如下: function unhtml($content){ $content=htmlspecialchars($content); $content=str_replace(chr(13),"",$content); $content=str_replace(chr(32),"",$content); $content=str_replace("[_[","$content=str_relace(")_)",">",$content);
複製代碼 代碼如下: $count = 5; start: if($count echo "Put Password: "; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if(trim($line) != '123456'){ $count--; if(!$count) goto error; goto start; } goto success; error: echo "Please try after 1
平時用$_post[''],$_get['']擷取表單中參數時會出現Notice: Undefined index: --------;我們經常接收表單POST過來的資料時報Undefined index錯誤,如下: $act=$_POST['action']; 用以上代碼總是提示 Notice: Undefined index: act in D:\test\post.php on line 20 另外,有時還會出現 Notice: Undefined variable: Submit ...