在很多項目中都會叫用戶上傳東西這些的,自從接觸了jquery 和ajax之後就不管做什麼,首先都會想到這個,我這個人呢?是比較重視客戶體驗的,這次我這邊負責的是後台板塊,然後就有一塊是要求用戶上傳照片的,當然就想到了無刷新上傳了呀,一般的jquery+ajax的話傳遞給php的data我習慣用json,然後就不知道怎麼怎麼把$_FILES數組中的內容給php,我要用move_uploaded_file這個函數來吧$_FILES['file']['tmp_name']移動到我想要的位置,tmp_name是上傳的臨時路徑了啦,具體參看手冊,數組中有很多關於文件的記錄的。查詢了很多記錄,要達到無刷新上傳,那麼有的解決方法是用生成frame來做得,找了很久很久,找到一個插件,jquery的,叫jquery.form,是個表單插件,有興趣的同學可以上網查看,我這裡只說我這個的實現而已,ok,上代碼:
jQuery+php實現ajax文件上傳 添加附件 0%
響應頁面action.php中只是簡單的處理上傳,然後以json數據的形式返回,供前台顯示
<? = ['mypic']['name' = ['mypic']['size' ( != "" ( > 1024000 '圖片大小不能超過1M' = (, '.' ( != ".gif" && != ".jpg" '圖片格式不對!' = (100, 999 = ("YmdHis") . . = "files/". (['mypic']['tmp_name'], = (/1024,2 = 'name'=>, 'pic'=>, 'size'=> json_encode( ?>
然後就完成啦。
好像還有jquery.form還沒有給大家,這裡就不說了,我網盤有寫好的demo,需要的同學可以下載看。
jquery+ajax(php)無刷新上傳文件帶進度demo下載