跳到主要內容

發表文章

目前顯示的是 7月, 2020的文章

用一層foreach解$_FILES['file']陣列(多檔上傳)存入資料表的方法->Xoops-教學撰寫:徐嘉裕Neil hsu

$_FILES['file']本身就是一個陣列,其底下包含了 $_FILES["file"]["name"]:上傳檔案的原始名稱。 $_FILES["file"]["type"]:上傳的檔案類型。 $_FILES["file"]["size"]:上傳的檔案原始大小。 $_FILES["file"]["tmp_name"]:上傳檔案後的暫存資料夾位置。 $_FILES["file"]["error"]:如果檔案上傳有錯誤,可以顯示錯誤代碼。 共有五個key值組成的,如果是單一檔案上傳用foreach可以解出陣列中的五個參數值,也就是上傳檔案的基本參數。 如果是多檔上傳,那$_FILES['file']就會是陣列格式,用一層foreach是解不出來的,因為第一層只會解出$_FILES['file']的五個屬性值但仍為陣列型態,還要再用第二層foreach去解每個屬性的參數值,不過有個更簡單的方法用一層foreach就能解出來了,方法如下: //html <input type='file' class=' form-control' multiple name='file[]' id='file' > //php //建立檔案 if(!empty($_FILES['file']['name'][0])){  foreach($_FILES['file']['name'] as $key=> $val){  //以$_FILES['file']['name']來開啟迴圈,如果上傳三個檔案就會迴圈三次 $_FILES["file"]["name"][$key]: //可以得到上傳檔案的原始名稱迴圈值。 $_FILES["file"]["type"][$key]: //可以得到上...

解決mouseenter及mouseleave執行物件動畫未完成又重複觸發的問題-教學撰寫:徐嘉裕Neil hsu

如果要用jQuery的mouseenter(滑鼠滑入)及mouseleave(滑鼠滑出)來執行物件動畫,會遇到一個問題,假使mouseenter時物件因該要跑到left:80px的位置才算動畫完成,mouseenter則回到left:0px的位置,但在動畫未執行完成user又快速的在執行區塊滑入滑出,就會變成動畫亂跳的情況!! 舉例來說,像下面這張圖三個物件是尚未mouseenter觸發前的狀態 滑鼠滑入其中一個按鈕會觸發mouseenter動畫事件,物件往左上移動 滑鼠滑出執行區會觸發mouseleave動畫事件,物件往右下移動,返回原本位置 js-code應該是這樣 //mouseenter $("body").on("mouseenter", "#indexblocksbox01", function (){ $(this).css("cursor", "pointer"); $(this).css({"animation-name":"indexbox1","animation-duration":"0.4s","left":"160px","top":"53px"}); $("#title01btn").css({"animation-name":"indexbox2","animation-duration":"0.4s","background-color":"#FFFFFF","color":"#E77C00"}); }) //mouseleave $("body").on("mouseleave", " #indexblocksbox01", function (){ $(this).css("cursor", "...