很奇怪,直接用file_get_contents存入数据库成功后,结果读取的时候图片不能显示,后来解决方法是什么!!是用了下base64编码。。。不多说直接上图。 1.这是upload.php ? php include ('./conn.php' ); if ( $_POST ['submit' ]) { if ( $_FILES ['image']['
很奇怪,直接用file_get_contents存入数据库成功后,结果读取的时候图片不能显示,后来解决方法是什么!!是用了下base64编码。。。不多说直接上图。
1.这是upload.php
<span>php </span><span>include</span>('./conn.php'<span>); </span><span>if</span> (<span>$_POST</span>['submit'<span>]) { </span><span>if</span> (<span>$_FILES</span>['image']['size'<span>]) { </span><span>$names</span> = <span>$_FILES</span>['image']['name'<span>]; </span><span>$arr</span> = <span>explode</span>('.', <span>$names</span><span>); </span><span>$name</span> = <span>$arr</span>[0]; <span>//</span><span>图片名称</span> <span>$date</span> = <span>date</span>('Y-m-d H:i:s'); <span>//</span><span>上传日期</span> <span>$fp</span> = <span>fopen</span>(<span>$_FILES</span>['image']['tmp_name'], 'rb'<span>); </span><span>$type</span> = <span>$_FILES</span>['image']['type'<span>]; </span><span>$file_uploads</span> = <span>file_get_contents</span>(<span>$_FILES</span>['image']['tmp_name'<span>]); </span><span>$file_uploads</span> = <span>base64_encode</span>(<span>$file_uploads</span><span>); </span><span>if</span> (!<span>$fp</span><span>) { showInfo(</span>'读取图片失败!'<span>); } </span><span>else</span><span> { </span><span>if</span> (<span>$image</span><span>) { </span><span>$q</span> = "insert into image (name, pic, type, date) values ('<span>$name</span>','<span>$file_uploads</span>','<span>$type</span>','<span>$date</span>')"<span>; </span><span>$result</span> = <span>mysql_query</span>(<span>$q</span><span>); </span><span>if</span> (<span>$result</span><span>) { showInfo(</span>'上传成功!'<span>); } </span><span>else</span><span> { showInfo(</span>'上传失败!'<span>); } </span><span>mysql_close</span>(<span>$link</span><span>); } </span><span>else</span><span> { showInfo(</span>'请选择要上传的文件!'<span>); } } } </span><span>else</span><span> { showInfo(</span>'请选择要上传的文件!'<span>); } } </span><span>function</span> showInfo(<span>$info</span><span>) { </span><span>echo</span> "<meta http-equiv='\"Content-Type\"' content='\"text/html;' charset='utf-8\"'>"<span>; </span><span>echo</span> "<meta http-equiv="refresh" content="1;url=show.php">"<span>; </span><span>echo</span> ""<span>; </span><span>echo</span> "" . <span>$info</span> . "……"<span>; </span><span>echo</span> ""<span>; } </span>?>
2.image.php用于从数据库中读取图片
<span>php </span><span>include</span>('./conn.php'<span>); </span><span>$id</span> = <span>$_GET</span>['id'<span>]; </span><span>$sql</span> = "select * from image where id='<span>$id</span>'"<span>; </span><span>$result</span> = <span>mysql_query</span>(<span>$sql</span><span>); </span><span>if</span> (!<span>$result</span><span>) </span><span>die</span>("读取图片失败!"<span>); </span><span>$num</span> = <span>mysql_num_rows</span>(<span>$result</span><span>); </span><span>if</span> (<span>$num</span> ) <span>die</span>("暂无图片"<span>); </span><span>$obj</span> = <span>mysql_fetch_object</span>(<span>$result</span><span>); </span><span>$data</span> = <span>base64_decode</span>(<span>$obj</span>->pic); <span>//</span><span>Base64解码</span> <span>$type</span> = <span>mysql_result</span>(<span>$result</span>, 0, 'type'<span>); </span><span>header</span>("Content-type: <span>$type</span>"<span>); </span><span>echo</span> <span>$data</span><span>; </span>?>
3.show.php显示和上传图片
<span>php </span><span>include</span>('./conn.php'<span>); </span>?> span>PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <meta http-equive="Content-Type" content="text/html" charset="utf-8"> <title> </title>
![]()
php
echo $row['name'];
?>
php
echo $row['date'];
?>
|
最后运行结果:
总结:网上的都是坑爹么?谁有其他不用base64编码的方法能否告知?
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
刺客信條陰影:貝殼謎語解決方案
4 週前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前ByDDD
在哪裡可以找到原子中的起重機控制鑰匙卡
4 週前ByDDD
<🎜>:死鐵路 - 如何完成所有挑戰
1 個月前ByDDD
Atomfall指南:項目位置,任務指南和技巧
1 個月前ByDDD

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6
視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)