日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php mysql 图像_将图像插入MySQL并使用PHP检索图像

發(fā)布時(shí)間:2025/3/8 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php mysql 图像_将图像插入MySQL并使用PHP检索图像 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

此文可能比較繁瑣,有更好的方法,但是出于教程目的,這是我的"“最佳實(shí)踐”的路線。

今天,我們將討論一個(gè)似乎每個(gè)人都有些困惑的話題……在MySQL中存儲BLOB圖像,然后使用PHP再次顯示它們。盡管始終建議不要這樣做,但我先展示一些演示代碼,說明如何實(shí)現(xiàn)此目標(biāo),并討論為什么/為什么不這樣做。然后,討論一些替代方案,以及為什么與直接將圖像直接存儲到數(shù)據(jù)庫相比。

因此BLOB或“Binary Large Objects”是數(shù)據(jù)庫中用于存儲原始二進(jìn)制數(shù)據(jù)的字段。這些數(shù)據(jù)可能代表圖片,文件或二進(jìn)制格式的文本。由于這些類型的對象相當(dāng)大(甚至可能是千兆字節(jié)大小),因此該字段旨在容納大量信息。我們?nèi)绾卧赑HP中使用這些字段來插入個(gè)人資料圖片?

1、我們必須將圖像讀取為二進(jìn)制。

2、我們必須準(zhǔn)備將其插入數(shù)據(jù)庫(轉(zhuǎn)義)。

3、我們使用典型的SQL將其插入數(shù)據(jù)庫中

對于我們的示例,我們將使用三步過程...

1、設(shè)置文檔的內(nèi)容類型以使其與圖片類型相匹配(對于jpg圖片,圖像/ jpeg)

2、在數(shù)據(jù)庫中找到圖像并將其拔出

3、顯示它

//圖片由表單提交。打開它進(jìn)行閱讀(模式“ r”)

$ fp = fopen($ _ FILES ['file_name'] ['tmp_name'],“ r”);

//如果成功,則使用文件大小(以字節(jié)為單位)作為長度從文件指針讀取。 如果($ fp){

$ content = fread($ fp,$ _FILES ['file_name'] ['size']);

fclose($ fp);

//在內(nèi)容中添加斜杠,以便轉(zhuǎn)義特殊字符。 //如前所述,在這里也可以使用mysql_real_escape_string。你的選擇。 $ content =加號($ content);

//將我們的二進(jìn)制數(shù)據(jù)字符串(“內(nèi)容”)插入到“圖像”列的表“表”中 mysql_query(“插入表(image)值('$ content')”);

}

在這里,我們打開文件進(jìn)行讀取并將圖像讀取到變量中。對該fread()的調(diào)用正在讀取圖像的字節(jié),因此我們?yōu)槠渲付藞D像文件的字節(jié)長度。可以使用“ size”鍵從$ _FILES數(shù)組中獲得。一旦將其包含在變量中,只需將其插入表中“ BLOB”類型的列中即可。在我們的示例中,“圖像”列是“ BLOB”數(shù)據(jù)類型。確保您在MySQL中選擇的BLOB也足夠大以容納數(shù)據(jù),因?yàn)镸ySQL確實(shí)具有不同大小的BLOB數(shù)據(jù)類型。

//讀取我們要從數(shù)據(jù)庫中提取的行。

$ result = mysql_query(“從ID = 1的表中選擇圖像”);

//如果成功,則以行的形式獲取該行,并將“ image”列中的數(shù)據(jù)存儲到變量中。如果($ result){

如果($ row = mysql_fetch_array($ result)){

$ img = $ row [“ image”];

}

}

//將此頁面的內(nèi)容類型設(shè)置為image / jpeg,因?yàn)槲覀円龅膱D像是jpg圖像。header(“ Content-type:image / jpeg”);

//回顯圖像。回顯“ $ img”;

在這里,我們使用行的ID查找所需的圖像。然后,我們從“圖像”列中提取數(shù)據(jù),并將其放入一個(gè)變量中,我們將在一秒鐘內(nèi)回顯該變量。在將頁面的標(biāo)題設(shè)置為image / jpeg的內(nèi)容類型之后,我們可以從變量中回顯二進(jìn)制數(shù)據(jù)。

現(xiàn)在請記住,

在header()調(diào)用之前無法打印任何內(nèi)容。如果這樣做,即使打印一個(gè)空格,它也會刷新標(biāo)題并在您嘗試再次調(diào)用header()時(shí)導(dǎo)致錯(cuò)誤。注意:錯(cuò)誤將與“標(biāo)題已發(fā)送”類似。

此過程與也具有Blob字段的其他數(shù)據(jù)庫非常相似。這里的想法是,我們要獲取一個(gè)二進(jìn)制對象,將其作為轉(zhuǎn)義的字符串插入,讀回并以告訴瀏覽器我們正在顯示圖像數(shù)據(jù)的內(nèi)容類型進(jìn)行顯示。

那么為什么我們不應(yīng)該將圖像存儲到這樣的數(shù)據(jù)庫中呢?數(shù)據(jù)庫(尤其是MySQL)非常適合快速查找數(shù)據(jù)和短數(shù)據(jù)塊。數(shù)據(jù)庫通常會獲取這些數(shù)據(jù)并將其分解為可快速在磁盤上定位的頁面。像BLOB這樣的大字段確實(shí)使數(shù)據(jù)庫膨脹,并且我們平時(shí)也會享受到了它的優(yōu)勢,例如在搜索中使用文件名。但!使用大量二進(jìn)制數(shù)據(jù)來膨脹數(shù)據(jù)庫可能會降低查詢速度,因?yàn)槿缓髷?shù)據(jù)庫被迫(可能)讀取2 GB的BLOB以便進(jìn)行顯示。所以當(dāng)然不能這么做。

解決方案:

將大型文件作為二進(jìn)制文件存儲在數(shù)據(jù)庫中,保持?jǐn)?shù)據(jù)庫的精簡并在數(shù)據(jù)庫中存儲文件的路徑.

可以將其視為指向?qū)ο蟮闹羔槨H绻枰@示圖像,則可以在數(shù)據(jù)庫中查找該字段,獲取文件路徑,然后使用該路徑從磁盤上定位圖片以進(jìn)行顯示。這給您帶來兩個(gè)好處:1、將數(shù)據(jù)庫必須管理的數(shù)據(jù)保持在最低限度(又稱其占用空間); 2、使用文件路徑,我們可以使用查詢來搜索它,以按文件名查找文件。

那么,為什么要有BLOB字段呢?如果您的圖像很小(例如圖標(biāo)),則該字段可能是一件好事。我也不建議在數(shù)據(jù)庫中使用大量圖標(biāo),但是可以在不引起過多性能噩夢的情況下使用一小塊二進(jìn)制數(shù)據(jù)。但是將數(shù)據(jù)庫留給文件系統(tǒng)管理簡單的快速數(shù)據(jù)片段和大文件。

總結(jié)

以上是生活随笔為你收集整理的php mysql 图像_将图像插入MySQL并使用PHP检索图像的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区视频免费在线观看 | 精品午夜一区二区三区 | 国产一级一区二区 | 尤物网在线 | av性色| 少妇饥渴难耐 | 天天欲色| 色骚综合 | 热久久这里只有精品 | 不卡视频免费在线观看 | 欧美三日本三级少妇三 | 国产一区二区三区毛片 | 色综合婷婷 | 精品亚洲aⅴ无码一区二区三区 | www.九色| 强行挺进白丝老师翘臀网站 | 欧美视频在线观看一区 | 探花国产精品一区二区 | 99在线播放| 亚洲三级在线观看 | 日韩av成人在线观看 | 永久免费看mv网站入口亚洲 | 女女同性被吸乳羞羞 | 波多野结衣潜藏淫欲 | 天堂中文8 | av无码一区二区三区 | 田中瞳av | 国产操人| 人妻一区二区三区四区 | a毛片在线 | 国产区第一页 | 久久午夜剧场 | 三级黄色在线播放 | 日韩av综合网站 | 夜夜操夜夜爽 | 人人妻人人澡人人爽欧美一区 | 国产小视频在线播放 | www三级免费 | 国产精品熟妇一区二区三区四区 | 一级视频片 | 国产精品香蕉在线 | 东方伊甸园av在线 | 欧美xxxx8888| 午夜一级在线 | 欧美成人精品一区 | 黄色网址av| 国产精品无码影院 | 日韩资源在线观看 | 日韩精品短片 | 久久久久久久久久艹 | 亚洲欧美一区二区三区久久 | 一区二区三区四区五区在线视频 | 91九色国产ts另类人妖 | 一级视频在线 | 69xav| 一区二区三区韩国 | 久久精品中文字幕 | 亚洲国产精品成人综合久久久 | 九九综合久久 | 成人性生活毛片 | 日韩综合在线观看 | wwwyoujizz日本| 亚洲最黄网站 | 国产一区免费 | 午夜精品久久久久久久久久蜜桃 | 加勒比精品 | 操操网站 | 欧美日韩国产中文字幕 | 狠狠干人人干 | 中国女人一级一次看片 | 伊人激情网| 激情视频一区二区三区 | 久久艹久久| 天天干天天日 | 天天爽影院| 中文字幕精品久久久 | 亚洲欧美久久久 | 色婷婷av一区二区三区软件 | 伊人久久一区二区 | 中文字幕精品视频在线 | 国产精品999久久久 在线青草 | 中文字幕乱码一区二区 | 嫩草视频在线播放 | 人妻少妇精品中文字幕av蜜桃 | 国产精品三级在线 | 91婷婷在线 | 夜夜爽www | 日韩av中文字幕在线播放 | 久久亚洲网站 | 最新亚洲精品 | 天天操天天干视频 | 蜜臀久久99精品久久久画质超高清 | 欧美xxxxx牲另类人与 | 黄色羞羞网站 | 少妇性生活视频 | 中文字幕av免费 | 亚洲精品在线免费播放 | 欧美日韩二三区 | av官网在线观看 |