thinkphpajax上傳
可以的,ajax上傳文件跟是不是TP一點關系都沒有,是PHP就能完成非同步上傳
② 關於thinkphp圖片上傳問題
<form method="post" action="upload.php" enctype="multipart/form-data">
<input type='file' name='file'>
<input type='submit' value='提交'>
</form>
//引入UploadFile類
import('ORG.Net.UploadFile');
//實例化UploadFile類
$upload = new UploadFile();
//設置文件大小
$upload -> maxSize = 3292200;
//設置文件保存規則唯一
$upload->saveRule = 'uniqid';
//設置上傳文件的格式
$upload -> allowExts = array('jpg','png','jpeg');
//保存路徑
$upload->savePath ='./Public/Uploads/';
//設置需要生成縮略圖,僅對圖像文件有效
$upload->thumb = true;
//設置需要生成縮略圖的文件前綴
$upload->thumbPrefix = 'm_'; //生產縮略圖也可以根據需要生成1張或多張,2張:'m_,s_'
//設置縮略圖最大寬度
$upload->thumbMaxWidth = '150';//2張的不同設置:'150,200'
//設置縮略圖最大高度
$upload->thumbMaxHeight = '200';
//刪除原圖
$upload->thumbRemoveOrigin = true;
//上傳失敗返回錯誤信息
if(!$upload->upload()){
$this->error($upload->getErrorMsg());
}else{
$this->success('上傳成功');
//獲取上傳文件的信息
$inf= $upload->getUploadFileInfo();
}
③ ThinkPHP中圖片最多一次上傳20張,怎麼上傳更多圖片
$User->fenxiang_fm = 'Uploads/'.$info[0]["savename"]; // 這里的$info[0]["savename"]的下標[0]表示上傳的第1個圖片按順序,記住是下標
$User->fenxiang_sc = 'Uploads/'.$info[1]["savename"]; // 這里的$info[1]["savename"]的下標[1]表示上傳的第2個圖片按順序,記住是下標
function upload(){
import("ORG.Net.UploadFile");
$upload = new UploadFile();// 實例化上傳類
$upload->maxSize = 3145728 ;// 設置附件上傳大小
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 設置附件上傳類型
$upload->saveRule = time;//這里的時間是根據上傳的圖片的多少來自動改變圖片的名稱的(並且時間都不同,所以上傳的圖片的名稱就不會相同)
④ thinkphp裡面的ajax關於表單提交的寫法
<html>
<head>
<scripttype="text/javascript"src="__PUBLIC__/js/jquery-1.7.1.min.js"></script>
<scripttype="text/javascript">
$(function(){
$('input:button').click(function(){
var$title=$('input[name="title"]').val();
var$message=$('input[name="message"]').val();
$mess=$('#mess');
$.getJSON('__URL__/add',{title:$title,message:$message},function(json){
//alert(json);returnfalse;
if(json.status==1){
$mess.slideDown(3000,function(){
$mess.css('display','block');
}).html('標題為'+json.data.title+'信息為'+json.data.message);
}else{
$mess.slideDown(3000,function(){
$mess.css('display','block');
}).html('信息添加失敗,請檢查');
}
});
})
})
</script>
</head>
<body>
<divstyle="display:none;color:red;"id="mess"></div>
<formaction=""method="get">
標題:<inputtype="text"name="title"/><br/>
信息:<inputtype="text"name="message"/><br/>
<inputtype="button"value="提交"/>
</form>
</body>
</html>
上面是前段代碼
MessageAction.class.php頁面代碼如下:
<?php
{
functionindex(){
$this->display();
}
functionadd(){
//ajaxReturn(數據,'提示信息',狀態)
$m=M('message');
if($m->add($_GET)){
$this->ajaxReturn($_GET,'添加信息成功',1);
}else{
$this->ajaxReturn(0,'添加信息失敗',0);
}
}
}
?>