比較普遍的方法是通過代碼實現(xiàn)。
10年積累的網(wǎng)站設(shè)計、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有勐臘免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、源代碼:
// 把圖片上傳到數(shù)據(jù)庫
// 從數(shù)據(jù)庫中讀取圖片;
// 定義文件臨時目錄 是必要的
define('UPLOAD_PATH',dirname(__FILE__)."/uploads/");
if($_POST["submit"]){
if($_FILES['photo']['size']0 $_FILES['photo']['name'])
{
$photo_type=$_FILES['photo']['type'];
if(!($_FILES['photo']['type']=='image/gif' || $_FILES['photo']['type']=='image/pjpeg'))
{
echo ?"商品圖片只能為GIF或者JPGE格式。";
}else{
list($tmp,$file_ext) = explode("/",$_FILES['photo']['type']);
$photo_name = mt_rand()."_".time().".".$file_ext;
if(!move_uploaded_file($_FILES['photo']['tmp_name'], UPLOAD_PATH.$photo_name))
{
echo "商品圖片保存失敗。";
echo "a href=javascript:window.history.go(-1)返回/a";
exit(); // 下面的操作將不會進行;
}
}
}
$sql="INSERT INTO `photo`(id,data,type)VALUES('','$photo_name','$photo_type')";
$query=mysql_query($sql);
if($query){
echo "圖片插入成功";
}else{
echo "失敗的操作";
echo "a href=javascript:window.history.go(-1)返回/a";
exit();
}
$sql_show_pic="SELECT * FROM `photo` ";
$query_show_pic=mysql_query($sql_show_pic);
while($result_pic_show=mysql_fetch_array($query_show_pic)){
//header("Content-Type:" .$result_pic_show["type"]);//這個不用啦
//?uploads 必須寫的
echo "img src=uploads/".$result_pic_show['data']."br";
}
}
?
form action="" method="post" enctype="multipart/form-data"
p選擇上傳的圖片:/p
input type="file" name="photo" size="50" br/br
input type="submit" name="submit" value="上傳"/
/form
2、需要使用的數(shù)據(jù)類型:
(1)一般來講都是把圖片保存到服務(wù)器下,然后根據(jù)路徑讀出的,但是有時候出于安全及版權(quán)什么的考慮,會把圖片保存到mysql的數(shù)據(jù)庫中,然后再讀出來,這樣的圖片點擊右鍵屬性,是看不到圖片地址的。下面逍遙一生就介紹下如何用php把圖片存儲到mysql中及如何讀出。
(2)MySQL數(shù)據(jù)庫使用專門的字段來保存大容量的數(shù)據(jù),數(shù)據(jù)類型為BLOB。
MySQL數(shù)據(jù)庫為BLOB做出的定義如下:BLOB數(shù)據(jù)類型是一種大型的二進制對象,可以保存可變數(shù)量的數(shù)據(jù)。BLOB具有四種類型,分別是TINYBLOB,BLOB, MEDIUMBLOB 與LONGBLOB,區(qū)別在于各自所能夠保存的最大數(shù)據(jù)長度區(qū)別。
3、編寫上傳腳本?
接收上傳文件并將其存入到MySQL數(shù)據(jù)庫中。具體的腳本代碼如下,其中我們假定文件上傳域的名稱為Picture。
PHP主要有八種基本數(shù)據(jù)類型,其中包括:
1.四種變量類型
整數(shù)型(integer)
浮點數(shù)型(float)
布爾型(boolean)
字符串(string)
2.兩種復(fù)合類型
數(shù)組(array)
對象(object)
3.兩種特殊類型
NULL
資源 (resource)
php的數(shù)據(jù)類型有:1、String字符串型;2、Integer整型;3、Float和Double浮點型;4、Boolean布爾型;5、Array數(shù)組;6、Object對象;7、NULL空值等等。
PHP的數(shù)據(jù)類型主要涵蓋如下:
一、四種標量類型(只能存儲一個數(shù)據(jù)):
string (字符串)、boolean (布爾型)、integer (整型)、float (浮點型, 也稱 double)
二、兩種復(fù)合類型:
array (數(shù)組)、object (對象)
三、兩種特殊類型:
resource(資源)、null (null)