圖片存儲與瀏覽一例(Linux+Apache+PHP+MySQL)
更新時(shí)間:2006年10月09日 00:00:00 作者:
注意本程序使用的表結(jié)構(gòu)為:
use test;
create table image(
id int unsigned auto_increment primary key,
description text,
filename varchar(50),
filesize int,
filetype varchar(50),
filedata longblob
);
*/
//?cmd={read|list|form|store}
//檢查cmd參數(shù)的合法性
switch($cmd){
case 'read':
break;
case 'list':
break;
case 'form':
break;
Case 'store':
break;
default:
$cmd = 'list';
break;
}
switch($cmd){
case 'read':
//?cmd=read&id={}
//讀一個(gè)圖片
$server = mysql_connect("localhost","test","") or die("無法連接數(shù)據(jù)庫服務(wù)器");
mysql_select_db("test",$server) or die("無法連接數(shù)據(jù)庫");
$sql = "select filetype,filedata from image where id='$id'";
$rst = mysql_query($sql,$server) or die("$sql查詢出錯(cuò)");
if($row=mysql_fetch_row($rst)){
header("Content-Type:" . $row[0]);
echo $row[1];
}
else{
echo "沒有找到該記錄";
}
mysql_free_result($rst);
mysql_close($server) or die("無法與數(shù)據(jù)庫服務(wù)器斷開連接");
break;
case 'list':
//?cmd=list
//顯示所有圖片
echo '<html>';
echo '<head><title>圖片存儲與瀏覽一例</title></head>';
echo '<body>';
echo '<a href="' . $PHP_SELF . '?cmd=list">顯示所有圖片</a>';
echo " ";
echo '<a href="' . $PHP_SELF . '?cmd=form">上傳圖片</a>';
$server = mysql_connect("localhost","test","") or die("無法連接數(shù)據(jù)庫服務(wù)器");
mysql_select_db("test",$server) or die("無法連接數(shù)據(jù)庫");
$sql = "select id,description,filename,filetype,filesize from image";
$rst = mysql_query($sql,$server) or die("$sql查詢出錯(cuò)");
while($row=mysql_fetch_row($rst)){
echo "<hr>";
echo "描述:" . $row[1] . "<br>";
echo "文件名:" . $row[2] . "<br>";
echo "類型:" . $row[3] . "<br>";
echo "大小:" . $row[4] . "<br>";
echo '<img src="' . $PHP_SELF . '?cmd=read&id=' . $row[0] . '">';
}
mysql_free_result($rst);
mysql_close($server) or die("無法與數(shù)據(jù)庫服務(wù)器斷開連接");
echo '</body>';
echo '</html>';
break;
case 'form':
?>
<html>
<head><title>圖片存儲與瀏覽一例</title></head>
<body>
<form action="<?echo $PHP_SELF;?>?cmd=store" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
描述:<br>
<textarea name="description" rows="5" cols="100"></textarea><br>
文件:<input type="file" name="file"><br>
<input type="submit" value="上傳">
</form>
</body>
</html>
<?
break;
case 'store':
//?cmd=store&description={}&file={}&file_size={}&file_type={}&file_name={}
//存儲圖片
echo '<html>';
echo '<head><title>圖片存儲與瀏覽一例</title></head>';
echo '<body>';
echo '<a href="' . $PHP_SELF . '?cmd=list">顯示所有圖片</a>';
echo " ";
echo '<a href="' . $PHP_SELF . '?cmd=form">上傳圖片</a>';
$server = mysql_connect("localhost","test","") or die("無法連接數(shù)據(jù)庫服務(wù)器");
mysql_select_db("test",$server) or die("無法連接數(shù)據(jù)庫");
$data = addslashes(fread(fopen($file,"r"),filesize($file)));
$sql = "insert into image(description,filename,filetype,filesize,filedata)
values('$description','" . basename($file_name) . "','$file_type',$file_size,'$data')";
mysql_query($sql,$server) or die("$sql執(zhí)行出錯(cuò)");
$id = mysql_insert_id();
echo "<hr>你上傳的圖片效果:<br>";
echo '<img src="' . $PHP_SELF . '?cmd=read&id=' . $id . '">';
mysql_close($server) or die("無法與數(shù)據(jù)庫服務(wù)器斷開連接");
echo '</body>';
echo '</html>';
break;
}
?>
use test;
create table image(
id int unsigned auto_increment primary key,
description text,
filename varchar(50),
filesize int,
filetype varchar(50),
filedata longblob
);
*/
//?cmd={read|list|form|store}
//檢查cmd參數(shù)的合法性
switch($cmd){
case 'read':
break;
case 'list':
break;
case 'form':
break;
Case 'store':
break;
default:
$cmd = 'list';
break;
}
switch($cmd){
case 'read':
//?cmd=read&id={}
//讀一個(gè)圖片
$server = mysql_connect("localhost","test","") or die("無法連接數(shù)據(jù)庫服務(wù)器");
mysql_select_db("test",$server) or die("無法連接數(shù)據(jù)庫");
$sql = "select filetype,filedata from image where id='$id'";
$rst = mysql_query($sql,$server) or die("$sql查詢出錯(cuò)");
if($row=mysql_fetch_row($rst)){
header("Content-Type:" . $row[0]);
echo $row[1];
}
else{
echo "沒有找到該記錄";
}
mysql_free_result($rst);
mysql_close($server) or die("無法與數(shù)據(jù)庫服務(wù)器斷開連接");
break;
case 'list':
//?cmd=list
//顯示所有圖片
echo '<html>';
echo '<head><title>圖片存儲與瀏覽一例</title></head>';
echo '<body>';
echo '<a href="' . $PHP_SELF . '?cmd=list">顯示所有圖片</a>';
echo " ";
echo '<a href="' . $PHP_SELF . '?cmd=form">上傳圖片</a>';
$server = mysql_connect("localhost","test","") or die("無法連接數(shù)據(jù)庫服務(wù)器");
mysql_select_db("test",$server) or die("無法連接數(shù)據(jù)庫");
$sql = "select id,description,filename,filetype,filesize from image";
$rst = mysql_query($sql,$server) or die("$sql查詢出錯(cuò)");
while($row=mysql_fetch_row($rst)){
echo "<hr>";
echo "描述:" . $row[1] . "<br>";
echo "文件名:" . $row[2] . "<br>";
echo "類型:" . $row[3] . "<br>";
echo "大小:" . $row[4] . "<br>";
echo '<img src="' . $PHP_SELF . '?cmd=read&id=' . $row[0] . '">';
}
mysql_free_result($rst);
mysql_close($server) or die("無法與數(shù)據(jù)庫服務(wù)器斷開連接");
echo '</body>';
echo '</html>';
break;
case 'form':
?>
<html>
<head><title>圖片存儲與瀏覽一例</title></head>
<body>
<form action="<?echo $PHP_SELF;?>?cmd=store" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
描述:<br>
<textarea name="description" rows="5" cols="100"></textarea><br>
文件:<input type="file" name="file"><br>
<input type="submit" value="上傳">
</form>
</body>
</html>
<?
break;
case 'store':
//?cmd=store&description={}&file={}&file_size={}&file_type={}&file_name={}
//存儲圖片
echo '<html>';
echo '<head><title>圖片存儲與瀏覽一例</title></head>';
echo '<body>';
echo '<a href="' . $PHP_SELF . '?cmd=list">顯示所有圖片</a>';
echo " ";
echo '<a href="' . $PHP_SELF . '?cmd=form">上傳圖片</a>';
$server = mysql_connect("localhost","test","") or die("無法連接數(shù)據(jù)庫服務(wù)器");
mysql_select_db("test",$server) or die("無法連接數(shù)據(jù)庫");
$data = addslashes(fread(fopen($file,"r"),filesize($file)));
$sql = "insert into image(description,filename,filetype,filesize,filedata)
values('$description','" . basename($file_name) . "','$file_type',$file_size,'$data')";
mysql_query($sql,$server) or die("$sql執(zhí)行出錯(cuò)");
$id = mysql_insert_id();
echo "<hr>你上傳的圖片效果:<br>";
echo '<img src="' . $PHP_SELF . '?cmd=read&id=' . $id . '">';
mysql_close($server) or die("無法與數(shù)據(jù)庫服務(wù)器斷開連接");
echo '</body>';
echo '</html>';
break;
}
?>
您可能感興趣的文章:
- php中將圖片gif,jpg或mysql longblob或blob字段值轉(zhuǎn)換成16進(jìn)制字符串
- php將圖片保存入mysql數(shù)據(jù)庫失敗的解決方法
- php下將圖片以二進(jìn)制存入mysql數(shù)據(jù)庫中并顯示的實(shí)現(xiàn)代碼
- 用PHP和MySQL保存和輸出圖片
- Php連接及讀取和寫入mysql數(shù)據(jù)庫的常用代碼
- PHP導(dǎo)入Excel到MySQL的方法
- 測試PHP連接MYSQL成功與否的代碼
- PHP+MYSQL實(shí)現(xiàn)用戶的增刪改查
- PHP連接和操作MySQL數(shù)據(jù)庫基礎(chǔ)教程
- php mysql數(shù)據(jù)庫操作類
- PHP操作MySQL中BLOB字段的方法示例【存儲文本與圖片】
相關(guān)文章
php array_push()數(shù)組函數(shù):將一個(gè)或多個(gè)單元壓入數(shù)組的末尾(入棧)
函數(shù)array_push():將一個(gè)或多個(gè)單元壓入數(shù)組的末尾(入棧)2011-07-07PHP parse_url 一個(gè)好用的函數(shù)
PHP中一個(gè)好用的函數(shù)parse_url,特別方便用來做信息抓取的分析。2009-10-10php面向?qū)ο笕ヂ?(二) 實(shí)例化對象 使用對象成員
我們上面說過面向?qū)ο蟪绦虻膯挝痪褪菍ο?,但對象又是通過類的實(shí)例化出來的,既然我們類會聲明了,下一步就是實(shí)例化對象了。2009-09-09計(jì)算2000年01月01日起到指定日的天數(shù)
計(jì)算2000年01月01日起到指定日的天數(shù)...2006-10-10