一,適用情境:無法使用從資料庫中返回的自增長數字,給上傳圖片重新命名。這是圖片或檔案上傳的流程決定的。一般圖片上傳處理過程是,先上傳圖片到伺服器,重新命名之後,插入到資料庫。也就是說,在資料庫中非常容易獲得的自增長id,無法用於給上傳的圖片重新命名,來避免檔案名稱的重複,而採用從資料庫中擷取最大id加1的方式,增加了資料庫連接的次數,不適用於高並發和資料量巨大的情況;二,常規方案:1,guid:32 字元十六進位數。格式:GUID
PHP 有三大流程式控制制:順序控制,分支控制,迴圈控制。1、順序控制:就是程式按順序從上往下一步一步的執行。2、分支控制:程式有選擇的執行。又分單分支,多分支,多重分支。a、單分支:基本文法結構:if(條件運算式){ 語句; //.....;} 提示:條件運算式不管有多複雜,最終就是true或者false;eg:a=11;if(a>10){ echo "a>10";}b、多分支:基本文法:if(條件運算式){ 語句; //.....;}else{ 語句; //....
1、算術運算子:+、-、*、/、%。2、遞增/遞減運算子:如$a++,$a--,++$a,--$a.如:<?php$a=10;$b=5;$c=$a++; //先賦值,後自增。$c=$a,$a=$a+1$d=$b--; //先賦值,後自減。$d=$b,$b=$a-1echo '$a='.$a."||".'$c='.$c.'<br/>'; //$a=11,$c=10echo '$b='.$b."||".'$d='.$d.'<br/>'; //$b=4,$d=5?>
文法:整型值可以使用十進位,十六進位或八進位表示,前面可以加上可選的符號(- 或者 +)。 八進位表示數字前必須加上 0(零),十六進位表示數字前必須加上 0x。$int1=100; //十進位$int2=-123; //負數$int3=0123; //八位元$int4=0x1A;//十六進位數 echo PHP_INT_SIZE; //顯示一個整數用幾個位元組來表示echo "<br/>";echo PHP_INT_MAX;echo
布爾類型是PHP中 最簡單的類型。它的值可以為 TRUE 或 FALSE。如:$foo=false;$foo1=true;echo "為假時輸出值為:".$foo; //沒有輸出值echo "<br />為真時輸出值為:".$foo1; //輸出1這裡主要的細節:當轉換為 boolean 時,以下值被認為是 FALSE :1、the 布爾值 FALSE 自身 2、the 整型值 0 (零) 3、the 浮點型值 0.0 (零) 空 字串, 以及 字串 "0"
1、定義常量:複製代碼 代碼如下:<?php //1 define("TAX_RATE",0.08); echo TAX_RATE; //輸出0.08 //2 (PHP 5.3) const TAX_RATE2 =0.01; echo '--'.TAX_RATE2;
is_null, empty, isset, unset 我們先來看看這4個函數的描述。isset 判斷變數是否已存在(配置)unset 把變數刪除(釋放)掉empty 判斷變數是否為空白is_null 判斷變數是否為NULLok,已經開始搞人了。那麼開始,這4個函數中除了unset,其他3個都是判斷函數,unset首先出局,因為他不會搞錯,其次是is_null,我們可以把它看成是!isset,是isset的一個逆操作,下面一張表可以很清楚的說明他們之間的關係:複製代碼
1.根據$_SERVER['PATH_INFO']來操作實現。 舉個列子比如你的網站的地址是 http://127.0.0.1/show_new.php/look-id-1.shtml你echo $_SERVER['PATH_INFO'] 出來的結果就會是 /look-id-1.shtml 看到這個我想大家可能已經明白了。完整的demoindex.php複製代碼 代碼如下:index.php $conn=mysql_connect("localhost","root","
今天寫了下無限極分類 下面就把代碼貼上來了 寫的不怎麼樣。method of classify one複製代碼 代碼如下:<?php/*reader: 這是自己寫的無限極分類實現方法 裡面的編輯方法只是對分類名進行了編輯 沒有進行移動操作 小弟能力有限忘大家多多包涵啊 第一種方法:CREATE TABLE `types` ( `type_id` int(11) NOT NULL AUTO_INCREMENT, `type_name`
小編今天沒事寫了目錄想關的函數 包括 遍曆該檔案夾下的檔案,目錄子目錄 讀取當前檔案下目錄和檔案 刪除當前檔案夾下的目錄子目錄以及檔案 以上三個函數目前還不支援中文檔案 中文目錄複製代碼 代碼如下:<?phpheader("Content-type:text/html;charset=utf-8");/*** 讀取目前的目錄下的檔案和目錄* * @param
小編今天寫下關於後台管理員權限的分配自己的思路想法複製代碼 代碼如下:<?php /**reader * 小編的思想比較簡單實現的功能 * 首先每個欄目的id號是固定不變的 然後 總管理員 * 建立個管理員之後 給該管理員分配許可權的時候 把相應的欄目勾選上 * 這樣把欄目的 id 號 就插入到資料庫裡面了,當這個管理員登入之後 * 獲得這個管理員 應有的的欄目id 號 。左邊的導航
get_headers() 是PHP系統級函數,他返回一個包含有伺服器響應一個 HTTP 要求所發送的標題的數組。如果失敗則返回 FALSE 並發出一條 E_WARNING 層級的錯誤資訊(可用來判斷遠程檔案是否存在)。函數定義array get_headers ( string $url [, int $format = 0 ] )參數url 目標 URLformat 如果將可選的 format 參數設為 1,則 get_headers()
在php中判斷一個檔案或目錄是否存在,大家通常都會想到is_file和file_exists兩個函數。但這兩個函數再判斷一個遠程url檔案是否存在的問題上還是會存在這樣那樣的問題。這裡作者將和大家分享一種利用php get_headers函數來判斷遠程url檔案是有效否存在的辦法。關於php get_headers函數的作用及用法,可以參考本站文章:php中get_headers函數的作用及用法的詳細介紹下面來具體說如何利用php
一、gzip介紹 gzip是GNU zip的縮寫,它是一個GNU自由軟體的檔案壓縮程式,也經常用來表示gzip這種檔案格式。軟體的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公開發布,版本號碼是0.1,目前的穩定版本是1.2.4。 Gzip主要用於Unix系統的檔案壓縮。
大家都知道,不同字元編碼,其在記憶體佔用的位元組數不一樣。如ASCII編碼字元佔用1個位元組,UTF-8編碼的中文字元是3位元組,GBK為2個位元組。 PHP 也內建幾種字串截取函數,其中常用到的就是 substr 和 mb_substr。
php二維數組排序函數,預設自然排序,即sort排序。這裡可以指定按二維數組中的某個值進行多種方法排序,具體看下面的程式注釋。複製代碼 代碼如下:/** * @function 二維數組自然排序 * @author www.phpernote.com * @param array $array 需要排序的數組(二維) * @param string key 需要根據哪個鍵排序
觀察者模式:定義對象間一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並自動更新。
命令模式:將一個請求封裝為一個對象,從而你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支援可撤銷操作。
PH和C#的值拷貝區別(如果哪裡說的不對,還望指出!)$a = 2;$b = $a; //在php中這裡把b的地址指向a 所以b此時也等於2;區別就在這$a = 5; //這時php中a的值又重新寫值,所以php核心這時才會把b重新分配一個地址,然後把a原先的值進行拷貝。這就是 寫時拷貝 原理 , 也就是說,除非進行寫操作,否則實值型別就是指向一個地址。而C#中。實值型別的複製。永遠都是建立一個地址 如:int a = 2;int b = a;
使用“===”來判斷,至於它和“==”的區別,簡單來說就是前者強調“identical(相同的,完全相同)”類型也要求一樣;後者要求“equal(相等)”,值相同就可以了。或者使用strcmp來判斷,但是這個能夠告訴你兩個字串是否相等,但是無法告訴你在哪裡不同。一般能用 !=, == 比較兩個對象是否相等,之所以說是兩個對象,是因為他們不一定全部為字串,也能為整型等等。比如複製代碼 代碼如下:$a = "joe"; $b = "jerry"; if ($a != $b) {