上機實驗 6 : 在 mysql 中儲存
本節擬將 ( 也可以是任何二進位制資料 ) 直接儲存到資料庫中,通過呼叫資料庫,便可以在網頁中顯示了。
在本節中,需要儲存到資料庫的圖象檔案是從瀏覽器所在的客戶端上輸入的,為在資料庫中儲存檔案,首先需要在「 netsql 」資料庫建立乙個名為「 imgstore 」的表。表的結構如下:
id int(4) not null auto_increment primary key // 檔案儲存的 id 號
descrp char(50) // 對檔案的描述
bindata longblob // 檔案內容(二進位制資料)
filename char(50) // 檔名稱
filesize char(50) // 檔案大小
fileiype char(50) // 檔案型別
例 6 - 21 的執行過程中是先執行表單的輸入,選擇輸入的檔案和對檔案的描述,然後再將資料發給 web 伺服器,實際上執行了檔案上載和在資料庫儲存的過程。但是,該網頁一般來說要執行兩次,第一次是表單輸入,第二次傳送資料。為實現方便,該程式設計時使用的是「倒裝」結構,希望讀者加以注意。
【例 6 - 21 】圖形資料儲存源程式 ( 為方便解釋,這裡加上了行號,這在實驗時無須輸入 ) 。
在 mysql 中儲存
?? @printf ("step0".'$submit='.$submit."
");?? // 在語句中插入 @ 是為抑制告警資訊顯示,若讀者希望了解 @ 在此的作用,可以在實驗時將該符號取消
?? if(@$submit)
?? $formdata_type=filetype($formdata); // 取得檔案型別
?? $formdata_size=filesize($formdata); // 取得檔案的大小
?? $formdata_name=$formdata; // 將表單傳來的檔名傳給相應的變數
?? echo "step1".$formdata_type.$formdata_size.$formdata_name.$formdesc."
";?? $data = addslashes(fread(fopen($formdata,"r"), filesize($formdata)));
?? // 為了在 blob 欄位中存入二進位制資料,必須進行「脫敏」處理
?? // 這裡用 addslashes() 將字串中必要的地方加上轉義符 "/"
?? $sql="insert into imgstore values (null, '$formdesc', '$data',
?? '$formdata_name', '$formdata_size', '$formdata_type')" ;
?? echo "step2".$sql."
";?? $result=mysql_query($sql) or die(" 資料插入失敗 ");
?? $id= mysql_insert_id();
?? print "
this file has the following database id.
mysql萬能 Mysql的萬能優化方法
在命令列執行 1.檢視優化器狀態 show variable like optimizer trace 2.會話級別臨時開啟 set session optimizer trace enabled on end markers in json on 3.設定優化器追蹤的記憶體大小 set optim...
NSUserDefault用法 能儲存的資料
獲得 nsuserdefaults 物件 nsuserdefaults defaults nsuserdefaults standarduserdefaults obj 可以是 nsstring nsarray nsdictionary nsnumber 等資料物件 如果要儲存自定義類 那就是使用歸...
SSD也能實現分層儲存
2013年可以稱得上是全快閃儲存器陣列的爆發之年,幾乎所有主流的儲存廠商都在今年發布了全快閃儲存器陣列產品。戴爾似乎不慌不忙,直到最近才宣布推出dell compellent storage center 6.4軟體,並通過它支援compellent全快閃儲存器陣列。其實早在4年前,dell equ...