index.html

<form action="php.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"/>
<input type="submit" value="上传文件"/>
</form>

php.php

<?php

try {
    $file = $_FILES['filename'];
    if (!$file['error'] == 0) {
        throw new Exception('上传文件出错');
    }
//文件来源安全性(文件上传白名单)
    if (!$file['tmp_name']) {
        throw new Exception('您的图片来源不安全');
    }
//文件目录
    $dir = 'upload/' . date('ym/');
    if (!is_dir($dir)) {
        mkdir($dir, 0777, true);
    }
    //文件上传大小
    if ($file['size'] > 80000000) {
        throw new Exception('文件不得超过80000000M');
    }
//文件名
    $name = $file['name'];
    $ext = substr($name, strrpos($name, '.'));
    if (!preg_match('/(.jpg)|(.png)|(.gif)$/', $ext)) {
        throw new Exception('图片格式错误');
    }
    $newname = md5(time() . rand(0, 999999999) . rand(111, 9999)) . $ext;
    $filenamea = $file['tmp_name'];
    move_uploaded_file($filenamea, $dir . $newname);
//    数据库连接
    $link = new mysqli('localhost', 'root', 'password', 'image');
    if ($link->connect_errno) {
        unlink($dir . $newname);
        throw new Exception('数据库连接失败');
    }
    $sql = 'INSERT INTO images (`name`,url,`time`) VALUES ("' . $name . '","' . $dir . $newname . '",' . time() . ')';
    var_dump($sql);
    $res = $link->query($sql);
    if (!res) {
        echo '失败';
    }
} catch (Exception $ex) {
    echo $ex->getMessage();
}

php之上传图片及传数据到mysql的更多相关文章

  1. awt可视化界面上传数据到mysql,jsp通过jdbc方式查询数据库,并将结果打印在网页上

    今天尝试写一个小demo实现下之前看过的代码,目的了解不同文件的数据访问,掌握如何获取前台数据,如何将数据库的数据在前端页面展示. awt可视化界面可已实现提交数据到数据库,也可查询数据在控制台打印. ...

  2. 如何解决python连接数据库编码问题(python传数据到mysql乱码)'ascii' codec can't encode _mysql_exceptions.OperationalError: (1366, "Incorrect string value:?

    首先描述下问题:  在使用python计算出结果后将结果插入到mysql过程中,报如下错误.原因很好定位就是编码的问题.那么到底是编码哪里出了问题了呢? 报错如上: 排查顺序: 第一:python的编 ...

  3. KETTLE:mongdb与mysql互传数据

    注:部分内容引用了 http://blog.sina.com.cn/s/blog_4ac9f56e0101g881.html 1.mongodb传数据到mysql 1)在kettle中,mongodb ...

  4. ueditor富文本上传图片的时候报错"未找上传数据"

    最近因为需求所以在ssh项目中使用了Ueditor富文本插件,但是在上传图片的时候总是提示“未找到上传数据”,之后百度了好久终于弄明白了.因为Ueditor在上传图片的时候会访问controller. ...

  5. kafka传数据到Flink存储到mysql之Flink使用SQL语句聚合数据流(设置时间窗口,EventTime)

    网上没什么资料,就分享下:) 简单模式:kafka传数据到Flink存储到mysql 可以参考网站: 利用Flink stream从kafka中写数据到mysql maven依赖情况: <pro ...

  6. 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  7. [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  8. 使用phpExcel批量上传excel表数据到mysql数据库中

    /*批量上传数据*/ if(isset($_POST['submit']) && $_POST['submit']=='上传文件') { //导入类文件 require_once (& ...

  9. 通过sqoop将hdfs数据导入MySQL

    简介:Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracl ...

随机推荐

  1. SolidEdge 工程图中如何标注尺寸公差

    1 先标注基准框,输入基准符号(A B C之类的)   2 点击特征控制,设置马上要标注的特征和公差(可以保存为模板)   3 直接点击要标注的元素即可   4 没有基准的形位公差标注也一样  

  2. FastDFS的配置、部署与API使用解读(5)FastDFS配置详解之Tracker配置(转)

    本文是 tracker.conf 配置文件的详细介绍. 1 基本配置 disable #func:配置是否生效 #valu:true.false disable=false bind_addr #fu ...

  3. 自己动手写CPU之第七阶段(5)——流水线暂停机制的设计与实现

    将陆续上传本人写的新书<自己动手写CPU>,今天是第28篇.我尽量每周四篇 China-pub的预售地址例如以下(有文件夹.内容简单介绍.前言): http://product.china ...

  4. 系统安全-PAM

    Pluggable Authentication Modules(可插入验证模块,简称PAM) Linux-PAM(Pluggable Authentication Modules for Linux ...

  5. .NET MVC 4 实现用户注册功能

    初学MVC,踩了不少坑,所以通过实现一个用户注册功能把近段时间学习到的知识梳理一遍,方便以后改进和查阅. 问题清单: l 为什么EF自动生成的表名后自动添加了s? l 如何为数据库初始化一些数据? l ...

  6. IGP和EGP(转载)

    AS(自治系统) - 也称为路由域,是指一个共同管理区域内的一组路由器.例如公司的内部网络和 Internet 服务提供商的网络.由于 Internet 基于自治系统,因此既需要使用内部路由协议,也需 ...

  7. Android-可随意拖动的View

    http://blog.csdn.net/w8320273/article/details/8101687

  8. 计算IMEI号的校验位

    计算IMEI号的校验位 移动设备国际识别码(IMEI:International Mobile Equipment Identification Number)是差别移动设备的标志,具有唯一性,贴在手 ...

  9. IOS-RSA加解密分享

    本文转载至 http://www.cocoachina.com/bbs/read.php?tid=235527     搜索了很多资料,没找到合适的RSA方法,很多人在问这问题,解决了的同志也不分享, ...

  10. EasyPlayer开源流媒体移动端播放器推出RTSP-RTMP-HTTP-HLS全功能Pro版

    EasyPlayerPro介绍 Android EasyPlayerPro专业版全功能播放器,是由EasyDarwin开源团队维护的一款支持RTSP.RTMP.HTTP.HLS多种流媒体协议的播放器版 ...