Home >php教程 >php手册 >php上传图片存入数据库示例分享

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

WBOY
WBOYOriginal
2016-06-06 20:24:041359browse

这篇文章主要介绍了php上传图片存入数据库示例,需要的朋友可以参考下

大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,,也符合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 '

';<br>    try{<br>        $pdo = new PDO($dsn,'root','root');<br>        $pdo->exec("INSERT INTO `upload`(`type`,`data`) values ('$type',0x$data)");<br>        $id = $pdo->lastInsertId();<br>        echo 'upload success!<a href="view.php?id='.%24id.'">View</a>';<br>        $pdo = null;<br>    }catch (PDOException $e){<br>        echo $e->getMessage();<br>    }<br>    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();
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn