當前位置:首頁 » 文件傳輸 » thinkphp實現圖片上傳
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

thinkphp實現圖片上傳

發布時間: 2022-01-13 21:55:03

1. thinkphp怎麼實現自定義命名圖片再後上傳

把新命名和圖片一起傳到後台,上傳成功後保存的savename名字改成你命名的就行了。

2. thinkphp作為伺服器端獲取上傳的圖片並保存的介面怎麼寫

就這么寫:
上傳操作
ThinkPHP文件上傳操作使用Think\Upload類,假設前面的表單提交到當前控制器的upload方法,我們來看下upload方法的實現代碼:
public function upload(){ $upload = new \Think\Upload();// 實例化上傳類 $upload->maxSize = 3145728 ;// 設置附件上傳大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設置附件上傳類型 $upload->rootPath = './Uploads/'; // 設置附件上傳根目錄 $upload->savePath = ''; // 設置附件上傳(子)目錄 // 上傳文件 $info = $upload->upload(); if(!$info) {// 上傳錯誤提示錯誤信息 $this->error($upload->getError()); }else{// 上傳成功 $this->success('上傳成功!'); }}

3. thinkphp如何實現圖片上傳

ThinkPHP里也有自帶的圖片上傳類(UploadFile.class.php) 和圖片模型類(Image.class.php)。方便於我們去實現圖片上傳功能。去看看手冊吧http://doc.thinkphp.cn/manual/upload.html

4. 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;//這里的時間是根據上傳的圖片的多少來自動改變圖片的名稱的(並且時間都不同,所以上傳的圖片的名稱就不會相同)

5. 急求!!!!thinkPHP+uploadify 實現圖片上傳預覽 源碼

js代碼:
$('#picture').uploadify({
swf:PUBLIC+'/Uploadify/uploadify.swf', //引入Uploadify核心Flash文件
uploader:uploadUrl, //PHP處理腳本地址
width:120, //上傳按鈕寬度
height:30, //上傳按鈕高度
buttonImage:PUBLIC+'/Uploadify/browse-btn.png', //上傳按鈕背景圖地址
fileTypeDesc:'ImageFile', //選擇文件提示文字
fileTypeExts:'*.jpeg;*.jpg;*.png;*.gif', //允許選擇的文件類型
formData:{'session_id':sid},
//上傳成功後的回調函數
onUploadSuccess:function(file,data,response){

if(data){
$('input[name=max]').val(data);
$('#upload_img').fadeOut().next().fadeIn().find('img').attr('src',ROOT+'/Uploads/'+data);
}else{
alert(data.msg);
}
}
});

php代碼:

public function uploadPic(){

$upload = new ThinkUpload(); // 實例化上傳類

$upload->maxSize = C('UPLOAD_MAX_SIZE') ;// 設置附件上傳大小

$upload->exts = C('UPLOAD_EXTS');// 設置附件上傳類型

$upload->rootPath = C('UPLOAD_PATH'); // 設置附件上傳根目錄

$upload->savePath = 'pic/'; // 設置附件上傳目錄

$upload->subName = date('Y-m');//子目錄創建方式

$upload->saveName = array('uniqid',''); //上傳文件的保存規則

$upload->replace = true;//同名文件覆蓋

// 開啟子目錄保存 並以日期(格式為Ymd)為子目錄

$upload->autoSub = true;

$upload->subName = array('date','Y-m');

$info=$upload->upload();

// 上傳文件

if(!$info) {// 上傳錯誤提示錯誤信息

$this->error($upload->getError());//獲取失敗信息

}else{

$images=$info['Filedata']['savepath'].$info['Filedata']['savename'];

//返迴文件地址和名給JS作回調用

echo $images;

}

}

6. thinkphp上傳圖片預覽並且保存到資料庫,求一個代碼例子!謝謝!!

	/**
*@desc保存新增廣告
*/
publicfunctionsaveAdd(){
$userInfo=$this->getUserInfo();
if(!$userInfo['id']||$userInfo['id']==0){
$this->error('請重新登陸添加廣告');
exit;

}
$_POST['user_id']=$userInfo['id'];

if($_POST['areaType']=='all')unset($_POST['area']);
if($_POST['areaType']=='custom'&&(count($_POST['area'])==34||$_POST['area']==''))unset($_POST['area']);

$id=null;

if($_POST['uploadType']=='single'){
/*$picInfo=getimagesize($_POST['pic']);
$sizeInfo=D('AdSizeConfig')->getDataById($_POST['size_id']);

if(($sizeInfo['width']!=$picInfo[0])||$sizeInfo['height']!=$picInfo[1]){
$this->error('您上傳的圖片長或寬不正確!');
}*/

$id=D($this->className)->addData($_POST);
}

if($_POST['uploadType']=='multi'){
foreach($_POST['picArr']as$key=>$val){
$data[$key]=$_POST;
$data[$key]['pic']=$val;
$picInfo=getimagesize("./".$val);
$map['width']=$picInfo[0];
$map['height']=$picInfo[1];

$data[$key]['size_id']=D('AdSizeConfig')->where($map)->getField('id');

$id=D($this->className)->addData($data[$key]);
}
}

if($id){
//添加廣告積分,獲取展示時間,獲取展示區域
$diff_time_start=strtotime($_POST['start_date']);
$diff_time_end=strtotime($_POST['end_date']);
$diff_days=floor(($diff_time_end-$diff_time_start)/86400)+1;
$area_ratio=($_POST['areaType']=='all')?5:1;
$uid=$userInfo['id'];
//$method='ad_saveadd';
//$points=-intval($diff_days)*$area_ratio;
//$desc='這么多'.$points.'分數';
//D('ScoreHistory')->setScoreByRule($method,'',$uid,'');
$this->userAddScore();
$this->success('添加成功!','/Home/Ad/index');
}else{
$this->error(D($this->className)->getLastError());
}
}

7. 關於thinkphp圖片上傳問題

ajax不能設定設置表單的MIME編碼,默認的編碼格式不支持文件上傳,圖片實際沒有上傳上去

8. 使用thinkphp做一個上傳圖片,並且要將圖片直接保存到資料庫里。感覺現在好沒有頭緒,不知道如何下手。

圖片直接保存到資料庫里?圖片應該是保存在文件夾裡面的吧,然後把圖片在文件夾的路徑保存在資料庫里,這樣才對吧?

9. thinkphp的框架 怎麼能實現圖片上傳功能和寫入資料庫,form 這樣定義之後 post獲取不到img_url值

思路是可以的,那提交數據後image可以獲取嗎?如果可以,那肯定是填寫鏈接的input有問題,而且你下面的圖有兩個圖片和鏈接,說明你是點了"點擊添加多個圖片"那個操作,那個操作之後新建的html一樣?如果一樣就會有兩個'img_url'和'image'input標簽,你應該用'img_url[]' 和 'image[]',大概想到這些

10. thinkphp中webuploadery圖片上傳問題

如提交到Upload控制器的upload方法
設置
server:"U('Upload/upload')"


server:"/index.php/Upload/upload"
php上傳處理代碼:

$defaultConfigs = array(
'maxSize' => 1024*1024,
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'rootPath' => '',
'saveName' => date('YmdHis') . rand(1234, 9999) . rand(1234, 9999)
);
$upload = new \Think\Upload($defaultConfigs);
$info = $upload->upload(array($_FILES['FILE欄位名']));
mp($info);