我的通用許可權系統設計是更換許可權時候盡量不要涉及到代碼修改,來自chinaunix論壇,今天轉過來看看。希望對大家有所協助,對bkJia的朋友有個很高的提升。 複製代碼 代碼如下: /* *控制訪問表 * acl值 功能 * 1 需要登入 * 2 自身修改 * 4 需要組的許可權集合 * 8 需要身份訪問集合 * 16 身份被禁止訪問 * 32 可訪問的日期 * 64 可訪問的周日 * 128 可訪問的時間 * 256 輸入密碼才能訪問 * 51
複製代碼 代碼如下: //安全過濾輸入[jb] function check_str($string, $isurl = false) { $string = preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string); $string = str_replace(array("\0","%00","\r"),'',$string); empty($isurl) && $string = preg_replace("/&(?!(
curl_setopt (PHP 4 >= 4.0.2) curl_setopt -- 為CURL調用設定一個選項 描述 bool curl_setopt (int ch, string option, mixed value) curl_setopt()函數將為一個CURL會話設定選項。option參數是你想要的設定,value是這個選項給定的值。 下列選項的值將被作為長整形使用(在option參數中指定): CURLOPT_INFILESIZE:
使用filesize()函數命令實現檔案大小的統計,要求:1,以GB、MB、KB、B中的一個輸出;2.數量級必須大於1小於1024,並保留兩位小數; 開始動工: 複製代碼 代碼如下: $len = filesize("1.rmvb"); $i=4; while($i){ if(($out=$len/pow(1024,$i))>1.0||$i==1){ switch($i){ case 4: {printf("%.2f TB",$out);break;} case 3: {printf("%.
今天學習了數組,可以說是PHP的資料應用中較重要的一種方式。PHP的數組函數眾多,下面是我學習的小結,藉此記之,便於以後鑒之…… 一、數組定義: 數組的定義使用 array()方式定義,可以定義空數組: 複製代碼 代碼如下: $number = array(1,3,5,7,9); //定義空數組 $result = array(); $color =array("red","blue","green"); //自訂索引值 $language =
$t = time(); $t1 = mktime(0,0,0,date(“m”,$t),date(“d”,$t),date(“Y”,$t)); $t2 = mktime(0,0,0,date(“m”,$t),1,date(“Y”,$t)); $t3 = mktime(0,0,0,date(“m”,$t)-1,1,date(“Y”,$t)); $t4 = mktime(0,0,0,1,1,date(“Y”,$t)); $e1 =
返回一個交集共有元素的數組(只是數組值得比較)、array_intersect_assoc()函數是將索引值和值綁定,一起比較交集部分、array_intersect_key()函數是將兩個數組的索引值進行比較,返回索引值交集的數組。但實際應用中也遇到了一些小問題,正如下: 執行個體: 複製代碼 代碼如下: $array = array("red"=>"Red","green"=>"red4","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz1"
1. 除去JavaScript注釋除了注釋,其他所有的 // or /* */ 注釋都可以安全刪除,因為它們對於最終使用者來說沒有任何意義。2. 除去JavaScript中的空白地區如:x = x + 1; 可以簡短得寫成:x=x+1; 。3. 進行代碼最佳化簡單的方法如除去暗示的(implied)分號,某些情形下的變數聲明或者空斷行符號語句都可以進一步減少指令碼代碼。一些簡略的表達方式也會產生很好的最佳化,例如:x=x+1; 可以寫成:x++; 不過得小心謹慎,不然代碼很容易出錯。4.
複製代碼 代碼如下: $db_host='hostname is database server '; $db_database='database name'; $db_username='username'; $db_password='password'; $connection=mysql_connect($db_host,$db_username,$db_password);//串連到資料庫 mysql_query("set names 'utf8'");//編碼轉化
如何準確的控制和判斷成了PHP中的一個“小問題”,下面是從書上摘抄下來的語句。 複製代碼 代碼如下: $filename = "html/cache.txt"; $contents = "我是張斌"; if(is_writable($filename)){ if(($handle = fopen($filename,"a") )== false){ echo "寫入檔案 $filename 失敗"; exit(); } if(fwrite($handle,$contents) == false)
//表單上傳只能使用multipart/form-data編碼格式 $_FILES系統函數; $_FILES['myFile']['name']檔案名稱 $_FILES['myFile']['type']檔案的類型,服務端進行限制 image/** image/x-png application/x-zip-compressed $_FILES['myFile']['size']上傳檔案大小 $_FILES['myFile']['tmp_name']上傳服務後儲存臨時檔案名稱 $_FILES['
命令格式為: bool rename ( string oldname, string newname [, resource context] ) 下面示範rename的具體應用: 檔案位置目的:1.把cache.txt 更名為rename.txt; 2.將cache2.txt更名為cache3.txt 3.將html目錄 更名為 cache 4.將file目錄轉移到html目錄下(可以實現更名) 代碼實現(有錯誤): 複製代碼 代碼如下: $file = "html/cache.txt"
命令: fputcsv() 命令格式:int fputcsv ( resource handle [, array fields [, string delimiter [, string enclosure]]] ) 命令解析:fputcsv() 將一行(用 fields數組傳遞)格式化為 CSV 格式並寫入由 handle指定的檔案。返回寫入字串的長度,出錯則返回 FALSE。 可選的 delimiter參數設定欄位分界符(只允許一個字元)。預設為逗號:,。 可選的
PHP是一種目前最流行的服務端Web程式開發語言之一。PHP主要的特點是文法簡單易於學習、功能強大、靈活易用。在融合了現代程式設計語言的一些最佳特性後,PHP、Apache和MySQL的組合已成為Web伺服器的一種配置標準。學習PHP的過程是十分輕鬆、快捷的。可以說PHP已經成為Web指令碼技術的先驅,並且會繼續引領Web技術的潮流。 1.[PHP第一季]第1章PHP概述(1) 17:39 / 分 2.[PHP第一季]第1章PHP概述(2) 14:49 / 分 3.[
錯誤碼:Parse error: syntax error, unexpected $end in H:\wamp\www\testing\test\2.1.4.php on line 16 錯誤原始碼: 複製代碼 代碼如下: $str = 測試字串 測試字串 測試字串 EOD; echo $str; //為定界符定義使用的變數 $name = '愛因斯坦'; $dicta = "想象力比知識更重要,因為知識是有限的,而想象力是無限的"; $size = 5; echo
PHP擷取檔案絕對路徑 複製代碼 代碼如下: echo __FILE__ ; // 取得當前檔案的絕對位址,結果:D:\www\test.php echo dirname(__FILE__); // 取得當前檔案所在的絕對目錄,結果:D:\www\ echo dirname(dirname(__FILE__)); //取得當前檔案的上一層目錄名,結果:D:\ ?> chdir() 函數 定義和用法 chdir() 函數把當前的目錄改變為指定的目錄。 若成功,則該函數返回 true,否則返回
命令:file_put_contents(); 命令解析:file_put_contents (PHP 5) file_put_contents -- 將一個字串寫入檔案 說明: int file_put_contents ( string filename, string data [, int flags [, resource context]] ) 和依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。 參數 data
複製代碼 代碼如下://引用 $one="test"; two=&$one;//相當於傳地址,兩個變數指向一個地址 //動態變數 $one="######"; $two="one"; $three="two"; echo $three."";//輸出"two" echo $$three."";//輸出"one" echo $$$three."";//輸出"######" //php中有8個類型 //4種標量: int integer // bool boolean //
首先 開啟web共用。 配置 httpd.conf 加入php拓展 /etc/apache2/httpd.conf 如出現 ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`" 錯誤 需要去掉 /usr/sbin/apachectl 裡面的 ulimit -S -n `ulimit -H -n 重啟apache brew install memcached 安裝 memcache 安裝後 memcache 路徑
複製代碼 代碼如下: /*資料類型之間相互轉換 * 一種是強制轉換 * setType(變數,類型); //int,integer,float,double等等。 * 這個函數將原變數的類型改變,用var_dump();可以查看變數 * * 在賦值前使用(類型)的形式,不會改變原變數的類型 * $a=(int)"123abc"; * * $變數=intval(變數或值); * $變數=floatval(變數或值); * $變數=stringval(變數或值); * *