php上传图片null,ThinkPHP中上传图片成功,但是数据库字段内容是NULL

ThinkPHP中上传图片成功,但是数据库字段内容是NULL

Public function upload(){

import('ORG.Net.UploadFile');

$upload = new UploadFile();// 实例化上传类

$upload->maxSize = 3145728 ;// 设置附件上传大小

$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型

$upload->savePath = './Public/Uploads/';// 设置附件上传目录

if(!$upload->upload()) {// 上传错误提示错误信息

$this->error($upload->getErrorMsg());

}else{// 上传成功 获取上传文件信息

$info = $upload->getUploadFileInfo();

}

// 保存表单数据 包括附件数据

$User = M("Photo"); // 实例化User对象

$User->create(); // 创建数据对象

$User->photo = $info[0]['tupian']; // 保存上传的照片根据需要自行组装

$User->add(); // 写入用户数据到数据库

$this->success('数据保存成功!');

}

怎样重命名上传的图片,并成功插入到数据库中

回复讨论(解决方案)

$User->add($info);

最好是把最后的$this->success('数据保存成功!');弄到if语句的else里面。

不然好像就没成功也显示成功。

我也是新手

把$info打印出来看下。

$User->add($info);

最好是把最后的$this->success('数据保存成功!');弄到if语句的else里面。

不然好像就没成功也显示成功。

我也是新手

array(1) { [0]=> array(8) { ["name"]=> string(7) "444.jpg" ["type"]=> string(10) "image/jpeg" ["size"]=> int(2502) ["key"]=> int(0) ["extension"]=> string(3) "jpg" ["savepath"]=> string(17) "./Public/Uploads/" ["savename"]=> string(7) "444.jpg" ["hash"]=> string(32) "9a4e6104c8b37bb4df69e059339545d1" } }

把$info打印出来看下。

array(1) { [0]=> array(8) { ["name"]=> string(7) "444.jpg" ["type"]=> string(10) "image/jpeg" ["size"]=> int(2502) ["key"]=> int(0) ["extension"]=> string(3) "jpg" ["savepath"]=> string(17) "./Public/Uploads/" ["savename"]=> string(7) "444.jpg" ["hash"]=> string(32) "9a4e6104c8b37bb4df69e059339545d1" } }

把$info打印出来看下。

怎样才能把savepath 保存到数据库中?

"savepath" => "./Public/Uploads/"

"savename" => "444.jpg"

可知

$User->photo = substr($info[0]['savepath'], 1) . $info[0]['savename'];

"savepath" => "./Public/Uploads/"

"savename" => "444.jpg"

可知

$User->photo = substr($info[0]['savepath'], 1) . $info[0]['savename'];

哈哈 好的 谢谢 成功了

我的好多问题都是你帮我解决的阿

大神阿 受小女子一拜

把$info打印出来看下。

怎样才能把savepath 保存到数据库中?

表示有关路径配置的东西,都应该放到配置文件里面去,不应该保存在数据库中。数据库里面只存放文件名。

另外,你的文件没有经过重命名,很容易出现文件重名被覆盖的情况,建议在网上查找一个可以生成唯一标识符的函数,生成唯一标识文件名,然后重命名后再插入。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值