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

首頁 > 語言 > PHP > 正文

php圖片的二進制轉換實例

2024-09-04 11:44:35
字體:
來源:轉載
供稿:網友

這里我們是在上傳文件時把上傳的文件轉換成二進制然后保存到數據的字段中去,下次讀讀出我們也用同樣的方法顯示即可.

html,代碼如下:

  1. <form action=”insertPic.php” method=”post” enctype=”multipart/form-data” name=”mainForm” id=”mainForm”> 
  2. <input type=”file” name=”myFile” /> 
  3. <input type=”submit” name=”Submit” value=”Submit”/> 
  4. </form> 

將圖片保存到數據庫,代碼如下:

  1. <?php 
  2. //由于上傳過來的圖片被保存在一個臨時文件中,所以 
  3. //我們僅需要讀取該文件就可以獲取傳過來的圖片 
  4. $fp = fopen($_FILES["myFile"]["tmp_name"],”rb”); 
  5. $buf = addslashes(fread($fp,$_FILES["myFile"]["size"])); 
  6. //創建一個PDO對象 
  7. $dbh = new PDO(“mysql:host=localhost;port= 
  8. 3306;dbname=test”, “root”, “123456″); 
  9. //執行插入操作并將結果保存在一個變量中 
  10. $result = $dbh->query(“INSERT INTO img (images) VALUES (‘$buf’)”); 
  11. //獲取影響的行數 
  12. if ($result->rowCount() >0) { 
  13. echo(“數據已插入。”); 
  14. else { 
  15. echo(“不能執行插入操作。”); 
  16. //顯式的關閉PDO連接 
  17. $dbh = NULL; 
  18. ?> 

顯示圖片,show.php,代碼如下:

  1. <?php 
  2. $conn=@mysql_connect(“localhost”,”root”,”123456″) or die(“服務器連接錯誤!”); //鏈接數據庫 
  3. @mysql_select_db(“test”,$connor die(“未發現數據庫!”); 
  4. $query=”select * from img where Id=”.$_GET['id']; 
  5. $result=mysql_query($query);
  6. $num=mysql_num_rows($result); 
  7. $data = mysql_result($result,0,”images”); 
  8. header(“Content-type: image/” . $num['imgType']); 
  9. echo $data
  10. ?> 

或者,代碼如下:<img src=”show.php?id=5″ />

1、fopen函數.

fopen()函數用于打開文件或者URL,語法如下:

int fopen(string filename, string mode);

字符串參數mode可以是下列的情形:

“r”開文件方式為只讀,文件指針指到開始處.

“r+”開文件方式為可讀寫,文件指針指到開始處。

“w”開文件方式為寫入,文件指針指到開始處,并將原文件的長度設為0。若文件不存在,則建立新文件。

“w+”開文件方式為可讀寫,文件指針指到開始處,并將原文件的長度設為0。若文件不存在,則建立新文件。

“a”開文件方式為寫入,文件指針指到文件最后。若文件不存在,則建立新文件。

“a+”開文件方式為可讀寫,文件指針指到文件最后。若文件不存在,則建立新文件。

“b”若操作系統的文字及二進位文件不同,則可以用此參數,UNIX系統不需要使用本參數。

2、Addslashes函數

Addslashes函數用于將字符串加入斜線,語法如下,注:我測試的時候是把這個函數去掉后成功了,道理你懂的,自己試下就明白了.

string addslashes(string str);

該函數使需要讓數據庫處理的字符串,引號的部份加上斜線,以供數據庫查詢(query)能順利運作,這些會被改的字符包括單引號(’)、雙引號(”)、反斜線backslash()以及空字符NULL(the null byte).

3、fread函數

fread函數用于讀到指定長度的位組或到文件尾EOF,語法如下:

string fread(int fp, int length);可安全用于二進制文件

fread() 從文件指針 file 讀取最多 length 個字節,該函數在讀取完最多 length 個字節數,或到達 EOF 的時候,或(對于網絡流)當一個包可用時,或(在打開用戶空間流之后)已讀取了 8192 個字節時就會停止讀取文件,視乎先碰到哪種情況.

二進制轉換成圖片

注:$newFilePath 對生成的圖片名和路徑做處理,這里自己去實現,代碼如下:

  1. $newFilePath='1.jpg'
  2. $data = $GLOBALS[HTTP_RAW_POST_DATA];//得到post過來的二進制原始數據 
  3. if(emptyempty($data)){ 
  4.  $data=file_get_contents("php://input"); 
  5. $newFile = fopen($newFilePath,"w");//打開文件準備寫入 
  6. fwrite($newFile,$data);//寫入二進制流到文件 
  7. fclose($newFile);//關閉文件  

可以把讀取到的二進制流存到數據庫,也可以直接寫入成一個圖片,獲取二進制頭文件,從而得知屬于什么類型文件,代碼如下:

  1. $bin = substr($content,0,2); 
  2.     $strInfo = @unpack("C2chars"$bin); 
  3.     $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); 
  4.     $fileType = '';//開源代碼Vevb.com 
  5.     switch ($typeCode
  6.     { 
  7.         case 7790: 
  8.             $fileType = 'exe'
  9.             break
  10.         case 7784: 
  11.             $fileType = 'midi'
  12.             break
  13.         case 8297: 
  14.             $fileType = 'rar'
  15.             break
  16.         case 255216: 
  17.             $fileType = 'jpg'
  18.             break
  19.         case 7173: 
  20.             $fileType = 'gif'
  21.             break
  22.         case 6677: 
  23.             $fileType = 'bmp'
  24.             break
  25.         case 13780: 
  26.             $fileType = 'png'
  27.             break
  28.         default
  29.             echo 'unknown'
  30.     }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
性亚洲最疯狂xxxx高清| 久久亚洲国产精品| 国产成人亚洲综合| 日日狠狠久久偷偷四色综合免费| 国产精品亚发布| 55夜色66夜色国产精品视频| 亚洲a∨日韩av高清在线观看| 精品久久久久久久久久久| 一本色道久久综合亚洲精品小说| 在线播放国产精品| 欧美精品在线观看91| 欧美日韩国产一区二区| 欧美片一区二区三区| 亚洲精品动漫久久久久| 日韩在线观看免费av| 日韩网站免费观看高清| 亚洲精品乱码久久久久久金桔影视| 久久国产精品免费视频| 日韩视频在线一区| 国产精品中文久久久久久久| 福利一区福利二区微拍刺激| 国内偷自视频区视频综合| 国产中文日韩欧美| 亚洲一区av在线播放| 亚洲曰本av电影| 欧美成人一区二区三区电影| 国产主播喷水一区二区| 欧美夜福利tv在线| 国产精品免费久久久久影院| 久久人人爽人人| 成人在线视频网| 国产精品福利在线| 国产一区二中文字幕在线看| 欧美日韩中文字幕在线| 91爱视频在线| 国产亚洲成av人片在线观看桃| 国产欧美精品一区二区| 日韩经典中文字幕在线观看| 亚洲精品久久久久久久久久久| 黑人巨大精品欧美一区二区一视频| 国产欧美中文字幕| 中文字幕精品www乱入免费视频| 欧美久久精品一级黑人c片| 精品亚洲国产成av人片传媒| 国产成人综合精品在线| 国产精品444| 不卡av日日日| 69av视频在线播放| 日本三级韩国三级久久| 成人妇女免费播放久久久| 亚洲欧美国产精品| 国产婷婷成人久久av免费高清| 亚洲性夜色噜噜噜7777| 久久久成人的性感天堂| 亚洲电影在线看| 亚洲日韩中文字幕在线播放| 成人免费观看a| 国产精品电影一区| 欧美www视频在线观看| 亚洲欧美在线播放| 精品中文字幕视频| 啪一啪鲁一鲁2019在线视频| 日韩av在线电影网| 欧美激情第6页| 欧美大片在线看| 欧美成人午夜激情视频| 另类少妇人与禽zozz0性伦| 欧美自拍视频在线| 亚洲精品一区二区在线| 日韩风俗一区 二区| 17婷婷久久www| 91在线免费看网站| 欧美亚州一区二区三区| 成人黄色免费看| 亚洲激情在线视频| 97国产在线视频| 亚洲夜晚福利在线观看| 97精品伊人久久久大香线蕉| 中文字幕成人精品久久不卡| 欧美日韩在线视频首页| 欧美亚洲在线视频| 尤物tv国产一区| 亚洲精品国产精品久久清纯直播| **欧美日韩vr在线| 亚洲国产精品久久精品怡红院| 亚洲护士老师的毛茸茸最新章节| 中文字幕亚洲综合久久| 91精品国产综合久久久久久久久| 97视频在线观看免费高清完整版在线观看| 91精品中国老女人| 国产亚洲精品久久久久动| 欧美日韩国产成人| 68精品国产免费久久久久久婷婷| 亚洲老头同性xxxxx| 国产精品色视频| 成人精品久久一区二区三区| 一区二区在线视频播放| 日韩在线高清视频| 国外色69视频在线观看| 国产91|九色| 深夜福利亚洲导航| 欧美麻豆久久久久久中文| 国产精品27p| 日韩大胆人体377p| 亚洲精品免费一区二区三区| 国产精品欧美日韩| 韩国19禁主播vip福利视频| 国产亚洲精品久久久久久777| 亚洲成人av片在线观看| 秋霞成人午夜鲁丝一区二区三区| 久久久国产精品视频| 欧美激情小视频| 亚洲欧美国产日韩中文字幕| 自拍偷拍亚洲欧美| 欧美激情第1页| 91高清视频在线免费观看| 7777精品久久久久久| 欧美日韩国产丝袜另类| 人妖精品videosex性欧美| 日韩精品中文字幕在线观看| 日本成人黄色片| 欧美亚洲视频一区二区| 国产成人精品久久久| 奇米成人av国产一区二区三区| 中文字幕欧美日韩在线| 亚洲xxx大片| 91社区国产高清| 中文字幕亚洲色图| 亚洲成人黄色在线观看| 国产成人精品一区二区在线| 国产亚洲精品久久久久动| 一区二区三区天堂av| 91中文在线观看| 亚洲精品国产精品国自产在线| 国产日本欧美一区二区三区| 国产精品福利久久久| 国产精品视频26uuu| 欧美在线一级va免费观看| 色综合亚洲精品激情狠狠| 国产综合久久久久| 欧美自拍视频在线观看| 夜夜嗨av色一区二区不卡| 欧美激情视频免费观看| 中文字幕亚洲欧美一区二区三区| 日韩中文字幕在线播放| 国外视频精品毛片| 久久久久久免费精品| 国产丝袜精品第一页| 欧美日韩国产成人在线观看| 国产精品亚洲аv天堂网| 久久夜精品va视频免费观看| 国模精品视频一区二区三区| 日韩一区二区三区国产| 欧美在线激情视频| 国产精品色视频| 欧美精品18videos性欧美| 亚洲天堂第二页| www.欧美三级电影.com| 国产欧美一区二区| 国产精品美女www爽爽爽视频| 亚洲另类欧美自拍| 91在线国产电影| 北条麻妃一区二区在线观看| 久久精品91久久久久久再现|