亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php將圖片保存入mysql數據庫失敗的解決方法

2024-05-04 23:29:30
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php將圖片保存入mysql數據庫失敗的解決方法,詳細分析了php將圖片保存入數據庫遇到的問題及對應的解決方法,并總結了相關的技巧,具有一定的參考借鑒價值,需要的朋友可以參考下
 
 

本文實例分析了php將圖片保存入mysql數據庫失敗的解決方法。分享給大家供大家參考。具體分析如下:

圖片保存數據庫并不是一個明智的做法,我們多半是把圖片保存到服務器,然后把圖片地址保存到數據庫,這樣我們每次只要讀出圖片地址就可以顯示了,但下面我還是來介紹一個圖片保存到mysql數據庫的問題解決辦法,代碼如下:

復制代碼代碼如下:
require 'class/db.php'; 
$fileName = "a1.jpg"; 
$fp = fopen($fileName, "r"); 
$img = fread($fp, filesize($fileName)); 
fclose($fp); 
 
$db->execute("insert db2.testimg (`img`) values ('$img') ;");

報錯:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`?綬q?仳!????1丶>,Mo?'^WZ4in??T春??????U?楹/?' at line 1

代碼如下:

復制代碼代碼如下:
$img = fread($fp, filesize($fileName));
$img = addslashes($img)

 

繼續報錯,各種搜索,百度里的結果都是addslashes,要不就是addslashes也沒有的,真是扯淡啊.

復制代碼代碼如下:
base64_decode
$img = base64_encode($img);

 

插入成功,圖片文件17.0k,出來進行base64_decode,顯示正常,找到個16進制的辦法:

復制代碼代碼如下:
$img = bin2hex($img);

 

有效,輸出不用解密,存入數據庫很大 25K,比base64還坑爹呢,再找,后來,后來,發現phpmyadmin直接上傳的圖片文件可以用文件比base64的小,文件12.8k.

翻phpmyadmin 源代碼,common.lib.php文件183有個神奇的函數,代碼如下:

復制代碼代碼如下:
function PMA_sqlAddslashes($a_string = '', $is_like = false, $crlf = false, $php_code = false) 

    if ($is_like) { 
        $a_string = str_replace('/', '////', $a_string); 
    } else { 
        $a_string = str_replace('/', '//', $a_string); 
    } 
 
    if ($crlf) { 
        $a_string = str_replace("n", 'n', $a_string); 
        $a_string = str_replace("r", 'r', $a_string); 
        $a_string = str_replace("t", 't', $a_string); 
    }
 
    if ($php_code) { 
        $a_string = str_replace(''', '/'', $a_string); 
    } else { 
        $a_string = str_replace(''', '''', $a_string); 
    } 
 
    return $a_string; 
} // end of the 'PMA_sqlAddslashes()' function$img = PMA_sqlAddslashes($img);

文件大小12.8K 和phpmyadmin的一樣大.

 

例,前臺image.html,代碼如下:

復制代碼代碼如下:
<html> 
<head> 
  <title>上傳圖片</title> 
</head> 
 
<body> 
<form method="post" action="upimage.php" enctype="multipart/form-data"> 
 <input type="hidden" value="204800" name="MAX_FILE_SIZE"/> 
 File: <input type="file" name="imgfile" /> 
 <input type="submit" value="OK" name="submitbtn" style="width:100px;height:23px"/></center> 
</form> 
</body> 
</html>

后臺處理upimage.php代碼如下:
復制代碼代碼如下:
<?php 
 //向數據庫中插入圖片 
 $imgfile=$_FILES['imgfile']; 
 $submitbtn=$_POST['submitbtn']; 
 if($submitbtn=='OK' and is_array($imgfile)){ 
 $name=$imgfile['name'];  //取得圖片名稱 
 $type=$imgfile['type']; //取得圖片類型 
 $size=$imgfile['size'];  //取得圖片長度 
 $tmpfile=$imgfile['tmp_name'];  //圖片上傳上來到臨時文件的路徑 
 if($tmpfile and is_uploaded_file($tmpfile)){  //判斷上傳文件是否為空,文件是不是上傳的文件 
  //讀取圖片流 
  $file=fopen($tmpfile,"rb"); 
  $imgdata=bin2hex(fread($file,$size));  //bin2hex()將二進制數據轉換成十六進制表示 
  fclose($file); 
 
  $mysqli=mysql_connect("localhost","root","123456″);  //連接數據庫函數 
  mysql_select_db("test");  //選擇數據庫 
  //插入出數據庫語句,圖片數據前要加上0x,用于表示16進制數 
  if(mysql_query("insert into images(name,type,image) values('".$name."','".$type."',0x".$imgdata.")")) 
   echo "<center>插入成功!<br><br><a href='disimage.php'>顯示圖片</a></center>"; 
  else 
   echo "<center>插入失敗!</center>"; 
  mysql_close(); 
 }else 
 echo "<center>請先選擇圖片!<br><br><a href='image.html'>點此返回</a></center>"; 
} else 
 echo "<center>請先選擇圖片!<br><br><a href='image.html'>點此返回</a></center>"; 
?>

顯示圖片disimage.php,代碼如下:
復制代碼代碼如下:
<?php 
 mysql_connect("localhost","root","123456″); 
 mysql_select_db("test"); 
 //顯示最新插入的那張圖片 
 $result=mysql_query("select image from images where id=(select max(id) from images)"); 
 $row=mysql_fetch_object($result); 
 header("Content-Type:image/pjpeg"); 
 echo $row->image; 
 mysql_close(); 
?>

結論:

 

PMA_sqlAddslashes好用 文件12.8k 和原來圖片一樣大

bin2hex 16進制 好用文件25K

base64_encode 好用,出來的文件需要base64_decode 17K

addslashes 不好用,繼續報錯,注明,在某些windows機器上addslashes好用.

希望本文所述對大家的php程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91沈先生在线观看| 亚洲成年网站在线观看| 日韩视频免费大全中文字幕| 欧美三级免费观看| 亚洲国产精品久久久久秋霞不卡| 国内免费久久久久久久久久久| 久久久久久com| 亚洲欧洲在线观看| 亚洲视频国产视频| 国产精品永久免费在线| 狠狠干狠狠久久| 日韩中文有码在线视频| 亚洲女人初尝黑人巨大| 91久久在线播放| 亚洲奶大毛多的老太婆| 亚洲精品一区中文字幕乱码| 午夜精品在线视频| 亚洲国产精品va在线看黑人动漫| 久青草国产97香蕉在线视频| 5566日本婷婷色中文字幕97| 国产性色av一区二区| 在线亚洲欧美视频| 日韩精品免费一线在线观看| 国产性色av一区二区| 国产精品专区第二| 成人深夜直播免费观看| 久久青草福利网站| 成人性教育视频在线观看| 麻豆精品精华液| 欧美自拍视频在线观看| 97精品视频在线观看| 久久久久99精品久久久久| 另类图片亚洲另类| 亚洲少妇激情视频| 国产精品久久久久久久久久尿| 91po在线观看91精品国产性色| 亚洲精品少妇网址| 欧美国产极速在线| 久久久精品欧美| 欧美日本亚洲视频| 亚洲第一综合天堂另类专| 国产性色av一区二区| 久久精品国产一区二区电影| 欧美福利在线观看| 亚洲欧美一区二区三区在线| 一二美女精品欧洲| 好吊成人免视频| 热久久99这里有精品| 欧美成人免费一级人片100| 久久国产精品免费视频| 高清亚洲成在人网站天堂| 国产成人精品最新| 日本午夜在线亚洲.国产| 日本一区二区在线播放| 久久精品中文字幕免费mv| 国产精品国产自产拍高清av水多| 亚洲三级av在线| 亚洲欧美日韩一区在线| 高清欧美性猛交xxxx| 亚洲欧美日韩中文在线| 欧美性猛交xxxx乱大交极品| 韩国v欧美v日本v亚洲| 成人黄色大片在线免费观看| 精品偷拍一区二区三区在线看| 精品国产区一区二区三区在线观看| 国产在线观看一区二区三区| 韩国三级电影久久久久久| 国产精品扒开腿做爽爽爽的视频| 亚洲品质视频自拍网| 国产精品久久久久久久久久新婚| 成人天堂噜噜噜| 在线色欧美三级视频| 国产一区二区三区四区福利| 欧日韩在线观看| 色偷偷88888欧美精品久久久| 91产国在线观看动作片喷水| 色婷婷**av毛片一区| 欧美国产第一页| 国产精品美女av| 欧美精品久久久久a| 欧美国产日韩一区二区三区| 国产91九色视频| 亚洲国产欧美一区二区三区同亚洲| 亚洲乱码国产乱码精品精天堂| 日韩av电影在线播放| 欧美激情一级二级| 91精品啪在线观看麻豆免费| 麻豆成人在线看| 国产亚洲美女精品久久久| 国产精品网红福利| 成人免费黄色网| 亚洲在线免费观看| 91香蕉亚洲精品| 日韩精品在线观看网站| 一区二区三区在线播放欧美| 97国产精品视频人人做人人爱| 国产精品高清在线| 亚洲欧美三级在线| 久久av.com| 欧美美女18p| 亚洲品质视频自拍网| 91精品久久久久久久久久| 国产精品久久久久久久久久尿| www国产亚洲精品久久网站| 亚洲男人天堂久| 国产一区玩具在线观看| 日韩在线视频观看正片免费网站| 欧美日韩美女视频| 久久久女人电视剧免费播放下载| 国产精品久久久久久久7电影| 97久久伊人激情网| 欧美综合一区第一页| 亚洲精品影视在线观看| 91色视频在线导航| 国产成人精品一区二区三区| 国产精品久久91| 中文字幕在线视频日韩| 精品高清一区二区三区| 亚洲一区二区免费在线| 国产精品女人久久久久久| 岛国av在线不卡| 久久精品一偷一偷国产| 久久免费国产精品1| 色视频www在线播放国产成人| 欧美另类老肥妇| 欧美日韩国产精品一区二区三区四区| 久久综合亚洲社区| 久久久国产精品免费| 国产情人节一区| 亚洲大胆人体视频| 国产精品一区二区三区免费视频| 在线激情影院一区| 精品中文字幕在线2019| 亚洲成人av片| 亚洲国产成人久久综合一区| 久久久久久美女| 91在线免费看网站| 欧美美女18p| 国产亚洲精品久久久久动| 亚洲美女免费精品视频在线观看| 久久香蕉精品香蕉| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久亚洲精品小早川怜子66| 日本电影亚洲天堂| 欧洲一区二区视频| 久久久久北条麻妃免费看| 国产精品999999| 日韩av男人的天堂| 日韩av电影国产| 国产在线a不卡| 俺也去精品视频在线观看| 日韩在线国产精品| 精品偷拍各种wc美女嘘嘘| 亚洲视屏在线播放| 欧美黄色小视频| 色偷偷av亚洲男人的天堂| 欧美午夜www高清视频| 国产精品综合网站| 国产精品成人av性教育| 久久久久九九九九| 国产一区二区视频在线观看| 日韩欧美在线看| 久久免费国产精品1| 久久天堂电影网|