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

首頁 > 編程 > PHP > 正文

php上傳圖片提交到數據庫的代碼

2020-03-22 19:12:36
字體:
來源:轉載
供稿:網友
  • 本來打算用在mysql里保存圖片的路徑,圖片存在文件夾里這種方法的,后來在網上查閱了一些資料,說mysql可以直接保存二進制的數據,數據類型是blob。
      我們通常在數據庫中所使用的文本或整數類型的字段和需要用來保存圖片的字段的不同之處就在于兩者所需要保存的數據量不同。html' target='_blank'>MySQL數據庫使用專門的字段來保存大容量的數據,數據類型為BLOB。
      MySQL數據庫為BLOB做出的定義如下:BLOB數據類型是一種大型的二進制對象,可以保存可變數量的數據。BLOB具有四種類型,分別是TINYBLOB,BLOB, MEDIUMBLOB 和LONGBLOB,區別在于各自所能夠保存的最大數據長度不同。
    然后就建立數據庫

    CREATE TABLE ccs_image (id int(4) unsigned NOT NULL auto_increment,description varchar(250) default NULL,bin_data longblob,filename varchar(50) default NULL,filesize varchar(50) default NULL,filetype varchar(50) default NULL,PRIMARY KEY (id))

    接著是上傳文件的頁面,upload.php,code如下:

    Store binary data into SQL Database

    // 如果提交了表單,代碼將被執行:if (isset($_POST['submit'])) {$form_description = $_POST['form_description'];$form_data_name = $_FILES['form_data']['name'];$form_data_size = $_FILES['form_data']['size'];$form_data_type = $_FILES['form_data']['type'];$form_data = $_FILES['form_data']['tmp_name'];//echo “winson”;// 連接到資料庫$connect = MYSQL_CONNECT( “localhost”, “root”, “”) or die(“Unable to connect to MySQL server”);mysql_select_db( “test”) or die(“Unable to select database”);$data = addslashes(fread(fopen($form_data, “r”), filesize($form_data)));//echo “mysqlPicture=”.$data;$result=MYSQL_QUERY( “INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype) VALUES (‘$form_description’,'$data’,'$form_data_name’,'$form_data_size’,'$form_data_type’)”);$id= mysql_insert_id();print “This file has the following Database ID: $id“;MYSQL_CLOSE();} else {// 否則顯示儲存新資料的表單?> 

    上文中的$_FILES['form_data']['name']; 等是獲取剛上傳來的文件的信息,php manual中有提到注: 要確保文件上傳表單的屬性是 enctype=”multipart/form-data”,否則文件上傳不了。全局變量 自 PHP 4.1.0 起存在(在更早的版本中用 $HTTP_POST_FILES 替代)。此數組包含有所有上傳的文件信息。以上范例中 數組的內容如下所示。我們假設文件上傳字段的名稱如上例所示,為 userfile。名稱可隨意命名。$_FILES['userfile']['name']客戶端機器文件的原名稱。www.it165.net$_FILES['userfile']['type']文件的 MIME 類型,如果瀏覽器提供此信息的話。一個例子是“image/gif”。不過此 MIME 類型在 PHP 端并不檢查,因此不要想當然認為有這個值。$_FILES['userfile']['size']已上傳文件的大小,單位為字節。$_FILES['userfile']['tmp_name']文件被上傳后在服務端儲存的臨時文件名。$_FILES['userfile']['error']和該文件上傳相關的。此項目是在 PHP 4.2.0 版本中增加的。寫上面代碼時有個小波折,$data = addslashes(fread(fopen($form_data, “r”), filesize($form_data)));這句代碼是從網上找到的,我查了一下addslashes()的用法,php manual上提到默認情況下,PHP 指令 為 on,它主要是對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes()。不要對已經被 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。遇到這種情況時可以使用函數 進行檢測。我以為 已經on了,所以再把這個函數去掉,結果得不到數據,寫不進庫里,百思得其解,也許人家就是要雙層轉義的效果,我不加就剛好反了,我實在不懂圖片的編碼方面的知識。加上這個函數,果然得到想要的結果,高興。 然后是顯示圖片,getdata.php,code如下<?php if(isset($_GET['id'])) { $id = $_GET['id'];$connect = MYSQL_CONNECT( “localhost”, “root”, “”) or die(“Unable to connect to MySQL server”);mysql_select_db( “test”) or die(“Unable to select database”);$query = “select bin_data,filetype from ccs_image where id=$id”; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result,0, “bin_data”); $type = @MYSQL_RESULT($result,0, “filetype”); Header( “Content-type: $type”); echo $data; }?>這樣就算完成了,但這樣只是顯示單張圖片,想顯示多張行不行,答案是肯定的。編寫兩個文件。其中,第一個文件作為HTML頁面的模板,定位圖片的顯示位置。第二個文件則被用來從數據庫中實際輸出文件流,作為<IMG>標簽的SRC屬性。其實第二個文件就是getdata.php。第一個文件的代碼如下: <HTML> <BODY> <?php$connect = MYSQL_CONNECT( “localhost”, “root”, “”) or die(“Unable to connect to MySQL server”);mysql_select_db( “test”) or die(“Unable to select database”);$result=mysql_query(“SELECT * FROM ccs_image”) or die(“Can’t Perform Query”);While ($row=mysql_fetch_object($result)){echo  “<img src=/”show.php?id=”.$row->Id.”/”>winson<br>”;}?></BODY></HTML>        

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    91中文精品字幕在线视频| 亚洲图片在区色| 欧美性生交xxxxxdddd| 中文字幕欧美专区| 精品中文视频在线| 国产精品免费久久久| 一色桃子一区二区| 久久久久国产一区二区三区| 亚洲一区二区免费在线| 久久久人成影片一区二区三区| 国产91对白在线播放| 97香蕉久久夜色精品国产| 欧美大片在线免费观看| 91久久精品在线| 国产精品一区专区欧美日韩| 大荫蒂欧美视频另类xxxx| 久久久成人的性感天堂| 亚洲激情自拍图| 高清一区二区三区四区五区| 最新国产精品亚洲| 国产精品igao视频| 午夜精品久久久久久久久久久久久| 久久69精品久久久久久久电影好| 欧美日韩精品中文字幕| 欧美国产日韩精品| 亚洲日本欧美日韩高观看| 97avcom| 俺去亚洲欧洲欧美日韩| 日韩精品中文字幕视频在线| 日韩欧美大尺度| 亚洲少妇中文在线| 欧美极品美女视频网站在线观看免费| 久久久噜噜噜久久| 欧美一级电影久久| 午夜精品久久久久久99热| 亚洲激情第一页| 性色av香蕉一区二区| 国产欧美精品va在线观看| 国产欧美精品一区二区三区-老狼| 欧美日韩激情视频| 理论片在线不卡免费观看| 97视频免费看| 亚洲高清色综合| 日韩av免费在线观看| 91精品国产成人www| 九九精品视频在线观看| 久久久av网站| 成人精品视频在线| 亚洲一区二区黄| 精品久久香蕉国产线看观看亚洲| 欧美激情三级免费| 国产亚洲精品久久| 日本免费一区二区三区视频观看| 欧美视频一二三| 曰本色欧美视频在线| 色婷婷av一区二区三区在线观看| 国内精品一区二区三区四区| 性欧美亚洲xxxx乳在线观看| 亚洲高清av在线| 一夜七次郎国产精品亚洲| 久久精品国产清自在天天线| 91沈先生作品| 欧美性猛交视频| 国产精品久久综合av爱欲tv| 亚洲自拍小视频| 亚洲国产精彩中文乱码av| 日韩欧美在线国产| 亚洲欧美一区二区激情| 6080yy精品一区二区三区| 日韩精品久久久久久福利| 国产99视频在线观看| 国产精品成人播放| 在线观看国产精品日韩av| 黑人巨大精品欧美一区二区| 国产精品91久久久久久| 97视频在线看| 国产精品综合不卡av| 亚洲视频第一页| 精品国产一区二区三区久久狼5月| 欧美精品一本久久男人的天堂| 成人国产精品久久久| 清纯唯美亚洲激情| 欧美国产精品人人做人人爱| 亚洲综合视频1区| 亚洲女人被黑人巨大进入al| 欧美激情国内偷拍| 日本精品性网站在线观看| 欧美性猛交xxxx| 亚洲成av人影院在线观看| 色婷婷综合久久久久中文字幕1| 亚洲一区二区三区sesese| 91视频国产高清| 国产精品一二三视频| 成人福利视频在线观看| 色噜噜狠狠狠综合曰曰曰88av| 国产精品三级美女白浆呻吟| 亚洲最新视频在线| 久久精品欧美视频| 欧美午夜激情视频| 色先锋资源久久综合5566| 久久全球大尺度高清视频| 欧美成人激情视频免费观看| 亚洲男人的天堂在线播放| 日韩综合中文字幕| 91在线直播亚洲| 国产日韩在线视频| 久久精品亚洲94久久精品| 精品调教chinesegay| 欧美一区二区色| 欧美性感美女h网站在线观看免费| 韩剧1988免费观看全集| 国产精品福利网站| 午夜美女久久久久爽久久| 性色av一区二区咪爱| 国外成人在线播放| 国产97在线观看| 日本一区二区不卡| 亚洲成av人片在线观看香蕉| 日韩高清不卡av| 7777精品视频| 国产视频久久久久| 欧美激情视频播放| 91久久久国产精品| 欧美特黄级在线| 久久99久久99精品中文字幕| 中文字幕精品av| 一区二区三区在线播放欧美| 中文字幕亚洲一区二区三区五十路| 国产91精品最新在线播放| 911国产网站尤物在线观看| 亚洲自拍偷拍网址| 久久99久国产精品黄毛片入口| 色综合影院在线| 久久精品国产久精国产一老狼| 欧美人与物videos| 日韩av观看网址| 久久久久久久久久国产精品| 96sao精品视频在线观看| 91高清免费在线观看| 综合国产在线视频| 国产精品日韩欧美| 亚洲国产精品一区二区三区| 欧美电影在线播放| 国产成人欧美在线观看| xxx成人少妇69| 国产suv精品一区二区| 欧美成人免费va影院高清| 成人免费看黄网站| 日本中文字幕成人| 亚洲人在线观看| 亚洲国产另类 国产精品国产免费| 久久精品中文字幕电影| 欧美一二三视频| 欧美激情18p| 欧美高清videos高潮hd| 91精品国产综合久久香蕉的用户体验| 日本精品视频在线播放| 国产精品∨欧美精品v日韩精品| 色阁综合伊人av| 国产亚洲综合久久| 欧美激情一区二区三区在线视频观看| 日韩精品视频在线观看网址| 97香蕉久久超级碰碰高清版| 日韩av资源在线播放|