tP上傳圖文
邏輯寫反了,不應該把$_FILES判斷寫在實例化上傳類外面。
應該先實例化上傳類(寫完上傳配置),在判斷$data['case_pic']上傳是否成功。
例如:
$upload = new \Think\Upload();
$upload->maxSize = 3145728;
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');
$upload->rootPath = './Public/Uploads/';
$data['case_pic'] = $upload->upload();
if($data['case_pic']){
//上傳成功
}else{
//上傳失敗
}
『貳』 thinkphp上傳多個圖片,只能上傳一個圖片和保存一個數據,什麼原因
吧你的表結構 截圖看下 不太明白你的第一句
你的那個upload函數不行
thinkphp 自帶函數 會遍歷所有上傳
你每次調用 他都遍歷以便 所以你得到的永遠是上傳最後的一個
隨便不明白你的第一句話的意思 但是建議你這樣做
先上傳所有到一個緩存文件夾里
然後移動文件 再存儲最後的地址
『叄』 急求: webuploader上傳圖片用thinkphp自帶的文件上傳怎麼做
use Think\Upload;載入think php自帶的上傳類
$upload=new Upload($config);實例化 $config 是一些配置 ctrl+滑鼠左鍵點擊方法,查看thinkPHP Upload方法
$result=$upload->uploadOne($file);上傳 $file 為上傳的圖片
『肆』 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 框架 上傳圖片 如何自定義圖片名稱
思路:
一般呢,為了避免圖片的重復出現被覆蓋的情況,上傳的時候圖片不會採用自定義名字,如果你需要自定義,可以將信息存儲在資料庫,這樣也會更方便
『陸』 php的 tp上傳圖片修改的時候怎麼在頁面保存原來圖片路徑並可以file重新選圖片
js非同步上傳圖片 原始的上傳方法 在修改的時候。太啰嗦了、
在tp裡面自定義一個上傳文件的方法upload
無論更新還是新增 都直接調用這個介面。
在表單裡面加一個text 和上傳按鈕。
當點擊上傳按鈕 執行非同步上傳。去找個js插件 網路就有js上傳插件 ,你也可以用別的。
這樣 js插件上傳的圖片都會經過upload 方法 裡面處理自己需要的邏輯。最後return 返回圖片的路徑。js插件回調介面修改text的value值。就是文件的地址。修改的時候這個text值就是資料庫裡面圖片的路徑。如果重新上傳了 就自己改變了這個值。提交就行了。
涉及到的基礎 js dom的修改 和非同步請求。 不會就去先看看資料吧
『柒』 php 裡面tp框架修改上傳圖片的邏輯
如果修改上傳圖片的話,你應該先查找到當前上傳的圖片,然後在點擊修改後要做一個判斷,看刪除是否成功,如果刪除了以前的圖片,最後把現在修改的圖片存到自己的文件夾下。
『捌』 Thinkphp上傳多圖時怎麼規定上傳第幾個圖
感覺這挺簡單的,你只判斷那要上傳的拿張圖片的name,如果name不為空就上傳
1:publicfunctionuploadOne(){
if(isset($_FILES['第三個圖片的name'])){
$upload=newThinkUpload();//實例化上傳類
$upload->maxSize=3145728;//設置附件上傳大小
$upload->exts=array('jpg','gif','png','jpeg');//設置附件上傳類型
$upload->savePath='./Public/Uploads/';//設置附件上傳目錄
//上傳單個文件
$info=$upload->uploadOne($_FILES['photo1']);
if(!$info){//上傳錯誤提示錯誤信息
$this->error($upload->getError());
}else{//上傳成功獲取上傳文件信息
echo$info['savepath'].$info['savename'];
}
}
}
2:使用foreach循環遍歷出你存放name數組中的內容,在循環出的時候你可以添加判斷獲取第三
張圖片的name,然後上傳,,
建議使用第二中方法!!
『玖』 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效果示意圖
第二個輸出的數組有你需要的相關數據。
看看是否符合你的需求?若有疑問,歡迎追問!
『拾』 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);
}
}
}