php+ajax 文件上傳代碼實(shí)例
本文實(shí)例為大家分享了php+ajax 文件上傳的具體代碼,供大家參考,具體內(nèi)容如下
html 代碼
<form action="{pboot:form fcode=8}" method="post" id="t" enctype="multipart/form-data"> <input type="file" name='tables_a' id="tables" onchange="abs()"> <input type="hidden" name='tables' id='tables_2'> <input type="submit" value="提交"> </form>
項(xiàng)目使用的是pbootCMS 所以地址可忽略
enctype="multipart/form-data"因?yàn)樵O(shè)計(jì)到文件上傳必須在from 表單中添加該屬性
js代碼
function abs(){ var fileArray = document.getElementById('tables').files[0]; var formData = new FormData(); formData.append("fileArray", fileArray) $.ajax({ url: "{pboot:httpurl}/api.php/Tables/index",//傳向后臺(tái)服務(wù)器文件 type: 'POST', //傳遞方法 data: formData, //傳遞的數(shù)據(jù) dataType : 'json', //傳遞數(shù)據(jù)的格式 async:false, //這是重要的一步,防止重復(fù)提交的 cache: false, //設(shè)置為false,上傳文件不需要緩存。 contentType: false,//設(shè)置為false,因?yàn)槭菢?gòu)造的FormData對(duì)象,所以這里設(shè)置為false。 processData: false,//設(shè)置為false,因?yàn)閐ata值是FormData對(duì)象,不需要對(duì)數(shù)據(jù)做處理。 success: function (responseStr){ if(responseStr.code != 0){ alert('上傳成功'); $('#tables_2').val('{pboot:httpurl}'+responseStr.data); }else{ alert('上傳失敗'); } }, error: function () { alert("上傳錯(cuò)誤!"); } }); }
PHP代碼
public function index() { $name = $_FILES['fileArray']['name']; $last = substr($name,strrpos($name,'.')); $name = date('YmdHis').rand(10000,99999).$last; $address = ROOT_PATH.'/upload/'.$name; if(move_uploaded_file($_FILES['fileArray']['tmp_name'],$address)){ return json(1,'/upload/'.$name); }else{ return json(0); } }
$_FILES['fileArray']['tmp_name'] 是文件的臨時(shí)存儲(chǔ)位置,所以直接將他移動(dòng)過(guò)去就好了
以上所述是小編給大家介紹的php+ajax的文件上傳詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 基于jquery ajax的多文件上傳進(jìn)度條過(guò)程解析
- 利用SpringMVC和Ajax實(shí)現(xiàn)文件上傳功能
- PHP實(shí)現(xiàn)帶進(jìn)度條的Ajax文件上傳功能示例
- AjaxUpLoad.js實(shí)現(xiàn)文件上傳
- AjaxUpLoad.js實(shí)現(xiàn)文件上傳功能
- php+ajax實(shí)現(xiàn)無(wú)刷新文件上傳功能(ajaxuploadfile)
- ajaxFileupload實(shí)現(xiàn)多文件上傳功能
- AjaxFileUpload+Struts2實(shí)現(xiàn)多文件上傳功能
- AjaxFileUpload結(jié)合Struts2實(shí)現(xiàn)多文件上傳(動(dòng)態(tài)添加文件上傳框)
- Ajax實(shí)現(xiàn)文件上傳功能(Spring MVC)
相關(guān)文章
php 指定范圍內(nèi)多個(gè)隨機(jī)數(shù)代碼實(shí)例
在php中生成隨機(jī)數(shù)據(jù)我們可以使用rand,mt_rand都可以生成指定范圍內(nèi)隨機(jī)數(shù)據(jù)了,下面給各位同學(xué)介紹一下方法2016-07-07PHP的命令行擴(kuò)展Readline相關(guān)函數(shù)的使用
PHP 作為一個(gè) Web 開(kāi)發(fā)語(yǔ)言,相對(duì)來(lái)說(shuō),命令行程序并不是它的主戰(zhàn)場(chǎng)。所以很多年輕的 PHP 開(kāi)發(fā)者可能連命令行腳本都沒(méi)有寫(xiě)過(guò),更別提交互式的命令操作了。而今天,我們帶來(lái)的這個(gè)擴(kuò)展就是針對(duì) PHP 的交互式命令行操作的2021-05-05php計(jì)算函數(shù)執(zhí)行時(shí)間的方法
這篇文章主要介紹了php計(jì)算函數(shù)執(zhí)行時(shí)間的方法,以md5函數(shù)加密運(yùn)行時(shí)間為例分析了php計(jì)算函數(shù)運(yùn)行時(shí)間的技巧,需要的朋友可以參考下2015-03-03開(kāi)啟CURL擴(kuò)展,讓服務(wù)器支持PHP curl函數(shù)(遠(yuǎn)程采集)
關(guān)于開(kāi)啟Curl的方法模板天下小編在此給大家簡(jiǎn)單說(shuō)一下2011-03-03PHP使用http_build_query()構(gòu)造URL字符串的方法
這篇文章主要介紹了PHP使用http_build_query()構(gòu)造URL字符串的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了http_build_query函數(shù)的功能,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-04-04