当前位置:首页 » 文件传输 » 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);