您的位置
主页 > 网站技术 > 语言编程 > » 正文

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

来源: 站长圈 点击:

表结构  

复制代码 代码如下:

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

复制代码 代码如下:

<!doctype html>

    <html>

<head>

    <title>

        Post-Image

    </title>

</head>

<body>

<form action="post.php" method="post" enctype="multipart/form-data">

    <input type="file" name="file" id="file"/>

    <input type="submit" value="OK"/>

</form>

</body>

</html>

post.php

复制代码 代码如下:

<?php

if ($_FILES["file"]["error"] > 0)

{

    echo "Error: " . $_FILES["file"]["error"] . "<br />";

}

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 '<pre>';

    try{

        $pdo = new PDO($dsn,'root','root');

        $pdo->exec("INSERT INTO `upload`(`type`,`data`) values ('$type',0x$data)");

        $id = $pdo->lastInsertId();

        echo 'upload success!<a href="view.php?id='.$id.'">View</a>';

        $pdo = null;

    }catch (PDOException $e){

        echo $e->getMessage();

    }

    echo '</pre>';

    fclose($fp);

}

view.php

复制代码 代码如下:

<?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();

}




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明