當前位置:首頁 » 編程語言 » php調用圖片

php調用圖片

發布時間: 2022-06-08 05:15:03

php如何從資料庫中調用圖片

以下是大致的原理 你看看
在我們設計和製作網站的過程中,有時把圖片保存到資料庫中要比存成文件的形式更加方便。PHP和Mysql這對黃金組合可以很容易的實現上述功能。在本文中,我們將會向讀者介紹如何把圖片保存到MySQL資料庫中以及如何將資料庫中的圖片顯示出來。
設置資料庫
我們通常在資料庫中所使用的文本或整數類型的欄位和需要用來保存圖片的欄位的不同之處就在於兩者所需要保存的數據量不同。MySQL資料庫使用專門的欄位來保存大容量的數據,數據類型為BLOB。
MySQL資料庫為BLOB做出的定義如下:BLOB數據類型是一種大型的二進制對象,可以保存可變數量的數據。BLOB具有四種類型,分別是TINYBLOB,BLOB, MEDIUMBLOB 和LONGBLOB,區別在於各自所能夠保存的最大數據長度不同。
在介紹了所需要使用的數據類型之後,我們可以使用以下語句創建保存圖象的數據表。
CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB );
編寫上傳腳本
關於如何實現文件的上傳,我們在這里就不再介紹了,感興趣的讀者可以參見「網頁陶吧」內的相關文章。現在,我們主要來看一下如何接收上傳文件並將其存入到MySQL資料庫中。具體的腳本代碼如下,其中我們假定文件上傳域的名稱為Picture。
<?
If($Picture != "none") { $PSize = filesize($Picture);
$mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize));
mysql_connect($host,$username,$password) or die("Unable to connect to SQL server");
@mysql_select_db($db) or die("Unable to select database");
mysql_query("INSERT INTO Images (Image) VALUES '($mysqlPicture')")
or die("Can't Perform Query");
}
else
{ echo"You did not upload any picture"; }
?>
這樣,我們就可以成功的把圖片保存到資料庫中。如果在將圖片插入MySQL的過程中出現問題,可以檢查一下MySQL資料庫所允許的最大數據包的大小。如果設置值過小的話,我們會在資料庫的錯誤日誌中找到相應的記錄。
下面,我們簡單說明一下上述腳本程序。首先,我們通過「If($Picture != "none")」檢查是否有文件被上傳。然後,使用addslashes()函數避免出現數據格式錯誤。最後,連接MySQL,選擇資料庫並插入圖片。
顯示圖片
在知道了如何將圖片存入資料庫之後,我們就需要考慮怎樣才能從資料庫中取出圖片並在HTML頁面中顯示出來。這個過程要稍微復雜一些,下面我們就來介紹一下實現過程。
因為PHP顯示圖片需要發送相應的標頭,所以我們就會面臨這樣一個問題,那就是一次只能顯示一副圖片,因為我們無法在發出標頭之後再發送其它的標頭。
為了有效的解決這一問題,我們編寫了兩個文件。其中,第一個文件作為HTML頁面的模板,定點陣圖片的顯示位置。第二個文件則被用來從資料庫中實際輸出文件流,作為<IMG>標簽的SRC屬性。
第一個文件的簡單形式可以如下:
<HTML>
<BODY>
<?
mysql_connect($host,$username,$password)
or die("Unable to connect to SQL server");
@mysql_select_db($db) or die("Unable to select database");
$result=mysql_query("SELECT * FROM Images") or die("Can't Perform Query");
While($row=mysql_fetch_object($result)) {
echo "<IMG SRC=\"Second.php3? PicNum=$row->PicNum\">";
}
?>
</BODY>
</HTML>
當HTML頁面被瀏覽時,每顯示一副圖片就會調用一次Second.php3文件。當第二個文件被調用時會傳入相應的Picture ID,我們可以藉此從資料庫中取回對應的圖片並顯示。
Second.php3文件如下:
<?
$result=mysql_query("SELECT * FROM Images WHERE PicNum=$PicNum")
or die("Can't perform Query"); $row=mysql_fetch_object($result);
Header( "Content-type: image/gif"); echo $row->Image;
?>

Ⅱ php中如何調用資料庫中的圖片並且顯示到頁面

php是採用二進制形式存儲圖片及讀取顯示的,首先通過代碼創建數據表,然後上傳圖片伺服器再通過瀏覽器顯示,具體編程代碼舉例:

1、首先需要創建數據表,具體代碼如下圖所示。

Ⅲ php首頁調用產品圖片列表

category是欄目調用,調用產品列表用lists
然後產品圖片調用是{$r[thumb]},標題是{$r[title]}

Ⅳ php圖片調用代碼

這個要根據你代碼獲取的原格式來確定,比如:$matches [1] [0]中匹配的字串是: "test.jpg" ,那麼你也要這么寫回去。

從正則表達式來看,<img.+src=[\'"]([^\'"]+)[\'"] , ([^\'"]+) 這個應該是匹配 圖片的文件名吧。

Ⅳ php寫的驗證碼圖片調用的時候出不來

這是瀏覽器緩存造成的。解決辦法,要麼在後台php中設置讓瀏覽器不緩存當前文件生成的圖片,要麼就通過前端腳本在圖片url後面添加一個隨機參數,比如:
<img src="yzm.php?r=這里放一個隨機數">

Ⅵ php怎麼直接調用表單中的圖片並顯示

前台:
<form action="php_insertpic.php" method="post" enctype="multipart/form-data" >
<input type="file" name="myFile" id="myFile" />
</form>
後台:
$pic_data = $_FILES["myFile"]["tmp_name"];
$pic_size = $_FILES["myFile"]["size"];
$filepic = addslashes(fread(fopen($pic_data, "rb"), $pic_size ));
後面再加上插入資料庫的語句就可以了,如:"insert into pic(id,picture) values(1,$filepic)"
顯示圖片:
header("Content-type:image/jpeg");
連接資料庫
$result=mysql_query("select * from pic where id=1");
$myrow=mysql_fetch_array($result);
echo ($myrow["picture"]);

Ⅶ 如何用php調用圖片

寫個復雜點的答案,有些場合要用到。見笑

<?php
header('Content-Type:image/jpeg');
$data=file_get_contents('/tupian/1.jpg');
echo$data;
?>

Ⅷ 用php代碼怎麼以背景圖片加上文字生成新的圖片,然後在標題處絕對調用該圖片

<?php
ob_clean(); //清除輸出緩存
header("Content-type:image/jpeg"); //設置輸出類型
$img="images/test.jpg"; //背景圖片名
if(isset($_GET["img"]))$img=$_GET["img"]; //也可以通過img參數傳入
$im=imagecreatefromjpeg($img); //讀入背景圖片
$text="文字內容"; //要加上的文字內容
if(isset($_GET["text"]))$text=$_GET["text"]; //也可以通過text參數傳入
$fontFile="xxx.ttf"; //字體文件名,必須要
$fontSize=36; //字體尺寸
$fontColor=ImageColorAllocate($im,0,0,0); //字體顏色,這里是黑色
$textAngle=0; //文字顯示的角度,0表示水平顯示
$textLeft=20; //文字顯示的x坐標
$textTop=60; //文字顯示的y坐標
imagefttext($im,$fontSize,$textAngle,$textLeft,$textTop,$fontColor,$fontFile,$text); //把文字覆蓋到圖片上
Imagejpeg($im); //輸出圖片
ImageDestroy($im); //銷毀圖片
?>
把以上文字保存為php文件,比如 img.php
然後在需要調用圖片的地方用 <img src="img.php?img=背景圖片文件路徑&text=要加上的文字"/> 來調用
比如 <img src="img.php?img=images/back.jpg&text=你好"/>

Ⅸ 請問php中如何調用本地圖片

你輸出圖片的那段太繁雜了吧?
再說你幹嘛要限定為執行3次而已呢?

<?php
for ($i=0;$i<=count($pictures);$i++){
echo "<td align=\"center\"><img src=\"$_server['document_root']."image(你圖片的上一個文件夾名)/$pictures[$i]\"/></td>";}

}

?>

Ⅹ php網頁圖片如何調用

採用相對路徑的方式:把圖片的路徑寫為: ../../../index.jpeg;
如在linux下最好寫為: ./../../../index.jpeg

熱點內容
xml導入sql 發布:2024-05-17 21:34:13 瀏覽:526
蘋果x怎麼清除緩存 發布:2024-05-17 21:34:00 瀏覽:785
我的世界紅石怎麼卡伺服器 發布:2024-05-17 21:03:53 瀏覽:44
吃麵包解壓神器 發布:2024-05-17 20:50:32 瀏覽:336
木料方演算法 發布:2024-05-17 20:44:18 瀏覽:763
手機可以換內置存儲 發布:2024-05-17 20:31:37 瀏覽:745
泛型編程stl 發布:2024-05-17 20:26:34 瀏覽:934
傳智播客php韓順平 發布:2024-05-17 20:09:52 瀏覽:820
android藍牙列印列印圖片 發布:2024-05-17 18:58:31 瀏覽:464
android年齡 發布:2024-05-17 18:51:33 瀏覽:198