onethink上傳圖片
Ⅰ thinkphp3.2.3文件上傳類多張圖片上傳怎麼只有第一張圖片被上傳
可以遍歷傳過來的FILES數組,然後用循環調用UPLOAD類
public function upload(){
$upload = new \Think\Upload();// 實例化上傳類
$upload->maxSize = 2000000 ;// 設置附件上傳大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設置附件上傳類
$upload->rootPath = ''./Uploads/';
$upload->savePath = date('Y').'/'.date('m').'/'.date('d').'/';
$upload->subName = array('date', 'H');
$upload->saveName = md5(uniqid());
$info = $upload->upload();
if(!$info) { // 上傳錯誤提示
$this->error($upload->getError());
}else{ // 上傳成功
return $info;
//$this->success('上傳成功!');
}
}
//調用
foreach($_FILES["banner_index"]["size"] as $key=>$val){
if($val>0){
$info=$this->upload(); //判斷上傳文件大小大於0,調用upload
foreach($info as $v){
echo $v["savepath"].$v["savename"]; }
}
}
Ⅱ 關於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】上傳圖片,總是提示「操作失敗!非法圖像文件」是怎麼回事
首先你找到提示「操作失敗!非法圖像文件」部分代碼,分析原因:為什麼會滿足產生這個提示的條件?
因為你沒貼上代碼,所以這里我很難幫你分析什麼原因。不過估計,既然你本地運行正常,而上傳到伺服器就不正常了。很可能是你伺服器環境和本地環境不用,代碼兼容性問題
Ⅳ 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;//這里的時間是根據上傳的圖片的多少來自動改變圖片的名稱的(並且時間都不同,所以上傳的圖片的名稱就不會相同)
Ⅳ thinkphp3.2上傳圖片如何進行封裝
把你的上傳部分寫在function.php或者繼承的父級控制器就行。
如:
/*文件上傳*/
function_uploads($savePath='/Picture/'){
$upload=newThinkUpload();
$upload->maxSize=3*1024*1024;//設置附件上傳大小
$upload->exts=array('jpg','gif','png','jpeg','bmp');//設置附件上傳類型
$upload->autoSub=true;//自動子目錄保存文件
$upload->subName=array('date','Y-m-d');//子目錄創建方式
$upload->saveName=array('uniqid','');//上傳文件命名規則,唯一性
$upload->rootPath='./Uploads/';//設置附件上傳根目錄
$upload->savePath=$savePath;//設置附件上傳(子)目錄
//上傳文件
$info=$upload->upload();
return$info;
}
//此處方法調用
publicfunctionupFile(){
$file=_uploads('/Picture/');//裡面可填寫子目錄文件路徑,支持多文件上傳
if($file){
$img=M('img');
//...此處添加所需邏輯處理
foreach($fileas$v){
//...此處添加所需邏輯處理
//拼接圖片地址用於保存資料庫
$dataImg['url']='/Uploads'.$v['savepath'].$v['savename'];//根據需求拼接路徑,也可在/Uploads前拼成根路徑加上項目名稱
$img->add($dataImg);
}
}
}
Ⅵ thinkphp 多圖上傳,如何把圖片路徑保存到資料庫
關於上傳文件:
推薦使用插件Uploadify!
使用方法:http://www.uploadify.com/documentation/
下載地址:http://www.uploadify.com/download/
關於多圖上傳:
在客戶端定義一個js變數,用於緩存每次非同步上傳圖片路徑;
最後提交表達數據的時候就把這些路徑集合保存到資料庫即可!
Ⅶ onethink後台編輯器怎麼修改上傳圖片大小
1、框架這塊自己查下是否加需要最大配置
2、Web代理需要加上配置,如果使用的代理是nginx,再加上client_max_body_size 20m;(我設置的是20Mb)。加上後重啟nginx
配置後需要重啟php-fpm
Ⅷ thinkphp上傳圖片如何檢驗尺寸
用getimagesize方法,如下示例:
HTML頁面
<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>定義inputtype="file"的樣式</title>
<styletype="text/css">
body{font-size:14px;}
input{vertical-align:middle;margin:0;padding:0}
.file-box{position:relative;width:340px}
.txt{height:22px;border:1pxsolid#cdcdcd;width:180px;cursor:pointer;}
.btn{background-color:#FFF;border:1pxsolid#CDCDCD;height:24px;width:70px;cursor:pointer;}
.file{position:absolute;top:0;right:80px;height:24px;filter:alpha(opacity:0);opacity:0;width:260px;cursor:pointer;}
</style>
</head>
<body>
<divclass="file-box">
<formaction="test.php"method="post"enctype="multipart/form-data">
<inputtype='text'name='textfield'id='textfield'class='txt'/>
<inputtype='button'class='btn'value='瀏覽...'/>
<inputtype="file"name="fileField"class="file"id="fileField"size="28"onchange="document.getElementById('textfield').value=this.value"/>
<inputtype="submit"name="submit"class="btn"value="上傳"/>
</form>
</div>
</body>
</html>
PHP頁面:
<?php
echo"<pre>";
print_r($_FILES);
echo"<br/>";
$size=getimagesize($_FILES['fileField']['tmp_name']);
echo"<pre>";
print_r($size);
?>
demo效果示意圖
第二個輸出的數組有你需要的相關數據。
看看是否符合你的需求?若有疑問,歡迎追問!