[1012]PHP進階開發及TadTools工具應用
一、 整合型上傳工具
- 這是由底下幾個工具所組成的一個PHP工具,可用在大部分需要檔案上傳的地方。
- (1) PHP上傳物件:class.upload.php(http://www.verot.net/php_class_upload_docs.htm)
- (2) 多重選擇:jquery.MultiFile(http://www.fyneworks.com/jquery/multiple-file-upload/)
- (3) 燈箱效果:lytebox(http://www.dolem.com/lytebox/)
- (4) 一堆自己寫的PHP函數
- 把 up_file.php 複製到模組下,並修改define("_MODDIR","contact");
- 建立資料表contact_files_center,xxx為模組名稱(重要!)
- 在用到上傳的檔案,加入此行:include_once "up_file.php";
- 在上傳的表單前加入底下引入相關檔案的語法: <script src='".TADTOOLS_URL."/jquery/jquery.js'></script> <script src='".TADTOOLS_URL."/multiple-file-upload/jquery.MultiFile.js'></script>
- 在上傳的表單加入屬性:enctype='multipart/form-data'
- 在上傳的表單加入上傳欄位:
<input type='file' name='upfile[]' class='multi' maxlength='1' accept='gif|jpg|png|GIF|JPG|PNG'>".
list_del_file($col_name,$col_sn)."
- (1) name和class請勿修改!!
- (2) maxlength就是指最多可以上傳幾個檔,不設代表無限制。
- (3) accept用來指定上傳的附檔名,用「|」隔開,不設代表無限制。
- (4) list_del_file() 函數用來取出該資料已上傳的檔案,以供使用者刪除
- (5) $col_name:用來判斷此檔案要依附在什麼資料上,一般是流水號的名稱
- (6) $col_sn:該資料對應的直,一般是流水號的直
- (7) 以通訊錄來說,若是希望可以上傳通訊錄上使用者的相片,$col_name可設為「contact_sn」,接著就看該使用者的$contact_sn是多少指定給$col_sn即可。
- 在儲存或更新的函數中加入上傳函數($width 為主圖大小,$thumb_width為縮圖寬度,若有$files_sn表示是要更新,而非新增,$name預設為「upfile」,若有第二組上傳框,可自訂別的 name): upload_file($col_name , $col_sn , $width , $name , $sort ,$thumb_width , $files_sn);
- 顯示某資料下的所有檔案(前兩個參數為必填)
//欄位 , 編號 , 是否縮圖 , 顯示模式 (空、filename、num) ,顯示描述,顯示下載次數
show_files($col_name , $col_sn , true , ”” , false , false);
- (1) 顯示模式預設為空,即以圖示方式來呈現
- (2) 顯示模式為 filename 時,會條列出檔名
- (3) 顯示模式為 num 時,會列出有多少附檔(數字)
- 秀出檔一個檔案或圖檔:($showkind為呈現模式預設是主圖,thumb為縮圖) get_pic_file($col_name , $col_sn , $sort , $showkind)
- 刪除資料時,在刪除資料的函數中,加入刪除檔案函數(僅$files_sn即可,或同時用$col_name , $col_sn也行): del_files($files_sn , $col_name , $col_sn);
- 檔案數量: get_file_amount($col_name , $col_sn);