• 技术文章 >后端开发 >php教程

    php上传图片存入数据库示例分享_PHP教程

    2016-07-13 10:36:12原创291
    大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,也符合web的特点,但是在删除时就很麻烦,需要找到文件并删除,该代码能够把代码直接存入数据库,删除时一并删除。请注意:这样的话数据库大小会激增,请酌情使用

    表结构

    复制代码 代码如下:

    CREATE TABLE `upload` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `type` varchar(20) NOT NULL,
    `data` mediumblob NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

    index.html

    复制代码 代码如下:




    <BR> Post-Image<BR>








    post.php

    复制代码 代码如下:

    if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "
    ";
    }
    else
    {
    $type = $_FILES["file"]["type"];
    $size = $_FILES['file']['size'];
    $tmp=$_FILES["file"]["tmp_name"];
    $fp = fopen($tmp,'rb');
    $data = bin2hex(fread($fp,$size));
    $dsn='mysql:host=localhost;dbname=test';
    echo '
    ';
    try{
    $pdo = new PDO($dsn,'root','root');
    $pdo->exec("INSERT INTO `upload`(`type`,`data`) values ('$type',0x$data)");
    $id = $pdo->lastInsertId();
    echo 'upload success!View';
    $pdo = null;
    }catch (PDOException $e){
    echo $e->getMessage();
    }
    echo '
    ';
    fclose($fp);
    }

    view.php

    复制代码 代码如下:

    $id = $_GET['id'];
    if(is_numeric($id)){
    $dsn='mysql:host=localhost;dbname=test';
    try{
    $pdo = new PDO($dsn,'root','root');
    $rs = $pdo->query('select * from `upload` where `id`='.$id);
    $row = $rs->fetchAll();
    $data = $row[0];
    header("Content-Type:${data['type']}");
    echo $data['data'];
    $pdo = null;
    }catch (PDOException $e){
    echo $e->getMessage();
    }
    }else{
    exit();
    }

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/740205.htmlTechArticle大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,也符合web的特点,但是在删除时就很麻烦,需要找到文件并删除,...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 上传图片 数据库
    上一篇:php使用反射插入对象示例分享_PHP教程 下一篇:PHP中isset()和unset()函数的用法小结_PHP教程
    PHP编程就业班

    相关文章推荐

    • PHP高并发实例详解之解决商品库存超卖问题• 带你聊聊PHP中的泛型之基础知识浅析• 各位大大一起来帮忙看一下!解决办法• 文件下传的若干有关问题• 请教各位测试这段代码的结果是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网