欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php上傳圖片存入數(shù)據(jù)庫示例分享

 更新時間:2014年03月11日 14:25:15   作者:  
這篇文章主要介紹了php上傳圖片存入數(shù)據(jù)庫示例,需要的朋友可以參考下

大部分人的圖片上傳都是保存一個路徑到數(shù)據(jù)庫,這樣在插入時確實快,也符合web的特點,但是在刪除時就很麻煩,需要找到文件并刪除,該代碼能夠把代碼直接存入數(shù)據(jù)庫,刪除時一并刪除。請注意:這樣的話數(shù)據(jù)庫大小會激增,請酌情使用

表結(jié)構(gòu) 

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

<!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

復(fù)制代碼 代碼如下:

<?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

復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • PHP中通過trigger_error觸發(fā)PHP錯誤示例

    PHP中通過trigger_error觸發(fā)PHP錯誤示例

    這篇文章主要介紹了PHP中通過trigger_error觸發(fā)PHP錯誤示例,本文介紹了錯誤抑制符@以及通過 trigger_error 觸發(fā) PHP 錯誤示例,需要的朋友可以參考下
    2015-06-06
  • PHP生成靜態(tài)頁

    PHP生成靜態(tài)頁

    PHP生成靜態(tài)頁...
    2006-11-11
  • Yii框架小部件(Widgets)用法實例詳解

    Yii框架小部件(Widgets)用法實例詳解

    這篇文章主要介紹了Yii框架小部件(Widgets)用法,結(jié)合實例形式詳細(xì)分析了Yii框架小部件(Widgets)基本功能、創(chuàng)建、使用方法及操作注意事項,需要的朋友可以參考下
    2020-05-05
  • php下幾個常用的去空、分組、調(diào)試數(shù)組函數(shù)

    php下幾個常用的去空、分組、調(diào)試數(shù)組函數(shù)

    dump() 把數(shù)組以數(shù)組格式數(shù)組,有益于調(diào)試 array_chunk() php默認(rèn)函數(shù) 作用是把函數(shù)平均分組
    2009-02-02
  • 微信營銷平臺系統(tǒng)–刮刮樂的開發(fā)

    微信營銷平臺系統(tǒng)–刮刮樂的開發(fā)

    最近一直在做微信相關(guān)的開發(fā)工作,刮刮樂是一個最常見的微信應(yīng)用了,網(wǎng)上也有很多的教程,本來是不想寫這篇博文的,但又怕網(wǎng)友被坑,我還是寫一下。
    2014-06-06
  • thinkPHP統(tǒng)計排行與分頁顯示功能示例

    thinkPHP統(tǒng)計排行與分頁顯示功能示例

    這篇文章主要介紹了thinkPHP統(tǒng)計排行與分頁顯示功能,結(jié)合實例形式分析了thinkPHP數(shù)據(jù)庫查詢與結(jié)果分頁顯示相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • PHP開發(fā)中csrf攻擊的簡單演示和防范

    PHP開發(fā)中csrf攻擊的簡單演示和防范

    CSRF的全名為Cross-site request forgery,它的中文名為 跨站請求偽造(偽造跨站請求【這樣讀順口一點】)CSRF是一種夾持用戶在已經(jīng)登陸的web應(yīng)用程序上執(zhí)行非本意的操作的攻擊方式。相比于XSS,CSRF是利用了系統(tǒng)對頁面瀏覽器的信任,XSS則利用了系統(tǒng)對用戶的信任。
    2017-05-05
  • php獲取本年、本月、本周時間戳和日期格式的實例代碼

    php獲取本年、本月、本周時間戳和日期格式的實例代碼

    這篇文章主要介紹了php獲取本年、本月、本周時間戳和日期格式,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Smarty模板變量與調(diào)節(jié)器實例詳解

    Smarty模板變量與調(diào)節(jié)器實例詳解

    這篇文章主要介紹了Smarty模板變量與調(diào)節(jié)器,結(jié)合實例形式詳細(xì)分析了Smarty模板變量與調(diào)節(jié)器基本概念、分類、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-07-07
  • PHP捕獲Fatal error錯誤的方法

    PHP捕獲Fatal error錯誤的方法

    這篇文章主要介紹了PHP捕獲Fatal error錯誤的方法,使用register_shutdown_function來捕獲Fatal error錯誤,需要的朋友可以參考下
    2014-06-06

最新評論