public function upload(){
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('image');
$picture=model("Picture");
$turepath = $file->getRealPath();
$md5path=md5_file($turepath);
$shalpath=sha1_file($turepath);
$map["md5"]=$md5path;
$map["sha1"]=$shalpath;
/*判断是否有相同图片上传过了*/
$image=$picture->find($map);
if($image){
$this->output_data(200,'success',array('img'=>'http://'.$_SERVER['HTTP_HOST'].$image["path"],"id"=>$image["id"]));
}
//判断文件类型
if(!count($file)){
$this->output_data(-1,'图片不能为空!');
}
$type=$file->checkImg();
if(!$type){
$this->output_data(-1,'图片类型不正确!');
} // 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
$path = $info->getSaveName();
$data=array();
$img_path='http://'.$_SERVER['HTTP_HOST'].'/uploads/'.$path;
$type=$info->getExtension();
$type="image/".$type;
$data["path"]='/uploads/'.$path;
$data["type"]=$type;
$data["status"]=1;
$data["md5"]=$md5path;
$data["sha1"]=$shalpath; $result=$picture->insert($data);
$this->output_data(200,'success',array('img'=>$img_path,"id"=>$result));
/*echo $path;
echo "<br>";
// 输出 42a79759f284b767dfcb2a0197904287.jpg
echo $info->getFilename();
echo "<br>";
输出 42a79759f284b767dfcb2a0197904287.jpg*/
echo $info->getPathName();
}else{
// 上传失败获取错误信息
$this->output_data(-1,'提交失败!');
}
}

TP5的图片上传的更多相关文章

  1. tp5 base64 图片上传

    /** * 保存图片 */ public function uploads($value='') { // $file = base64_decode(request()->file('imag ...

  2. Thinkphp5+plupload图片上传功能,支持实时预览图片。

    今天和大家分享一个国外的图片上传插件,这个插件支持分片上传大文件.其中著名的七牛云平台的jssdk就使用了puupload插件,可见这个插件还是相当牛叉的. 这个插件不仅仅支持图片上传,还支持大多数文 ...

  3. 百度编辑器前后端二开图片上传Js Thinkphp tp5 ueditor

    百度编辑器图片上传Jsueditor.all.min.js 下载链接 链接:https://pan.baidu.com/s/1VNgw9ELgRRHKeCQheFkQTw 提取码:fnfi 使用方法: ...

  4. TP5图片上传

    /*图片上传*/ public function upload(){ // 获取表单上传文件 例如上传了001.jpg $file = request()->file('file'); // 移 ...

  5. TP5.0整合webuploader实现多图片上传功能

    在https://github.com/fex-team/webuploader 下载webuploader并解压,解压后放到public里面.其中我把解压缩后的文件夹改名为webuploader,放 ...

  6. layui加tp5图片上传实例

    <div class="layui-fluid"> <div class="layui-row"> <form class=&qu ...

  7. Thinkphp5图片上传正常,音频和视频上传失败的原因及解决

    Thinkphp5图片上传正常,音频和视频上传失败的原因及解决 一.总结 一句话总结:php中默认限制了上传文件的大小为2M,查找错误的时候百度,且根据错误提示来查找错误. 我的实际问题是: 我的表单 ...

  8. TP框架配合jquery进行3种方式的多图片上传

    用的TP5.1框架+jquery 一 使用form表单方式进行多图片上传 html代码: <form action="../admin/admin/cs" enctype=& ...

  9. thinkphp5+layui多图片上传

    准备资料 下载layui <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

随机推荐

  1. glade2支持C++代码的输出(3)

    今天完成了glade-2生成configure.ac/Makefile.am等调整 代码为:cpp_out_4.patch.zip BaseObject类也做了一些小的调整:BaseObject.00 ...

  2. sed delete

    sed -i '1d' a.txt删首行 sed -i '$d' b.txt删尾行 sed -i 's/[ ]//g' c.txt删空格 sed -i '/^$/d' d.txt删空行 sed -i ...

  3. C#操作XML,如何获取指定节点值?

    博客园提问,结合网友回答http://q.cnblogs.com/q/36082/   打开是treelist树形显示xml所有节点,递归来实现 xmlDoc = new XmlDocument(); ...

  4. Android学习笔记——TableLayout

    该工程的功能是实现在一个activity中显示一个表格 以下代码是MainActivity.java中的代码 package com.example.tablelayout; import andro ...

  5. 关于webpack抛出对象到全局的问题

    一般情况下,我们用webpack的时候.大多是用在单页应用上. 单是,某些情况下,我们用来做多页面的时候,有的时候,会需要在html内嵌 <script>,比如说,这个页面是服务端渲染的, ...

  6. Senparc.Weixin.MP.Sample 配置redis服务器密码

    redis.windows-service.conf中加  requirepass 你的密码 <!-- Cache.Redis连接配置 --> <add key="Cach ...

  7. Log4cpp配置文件格式说明

    Log4cpp配置文件格式说明 博客分类: log4cpp log4cpp  log4cpp有3个主要的组件:categories(类别).appenders(附加目的地).和 layouts(布局) ...

  8. [Unity] UGUI研究院之游戏摇杆

    最近在做Unity基于UGUI的摇杆,发现了一种非常简单并且巧妙的方法,原文在这里, 不过要FQ!!http://godstamps.blogspot.tw/2015/07/unity-ugui-sc ...

  9. linux中Jetty的安装和配置

    Jetty Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开 ...

  10. vim 中 也可以 直接安装 emmet 直接使用zen coding 生成 l指定个数的 lorem ipsum文字.

    超链接的写法: 当作为链接的文字, 比较长时, 整个作为链接 就显得不是 很适合. 可以取其中的某一个单词 作为 超链接的 关键字:如: click here to continue emmet中如何 ...