程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 圖片存儲與浏覽一例(Linux+Apache+PHP+MySQL)

圖片存儲與浏覽一例(Linux+Apache+PHP+MySQL)

編輯:關於PHP編程

注意本程序使用的表結構為:
    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參數的合法性
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={}
      //讀一個圖片
      $server = mysql_connect("localhost","test","") or die("無法連接數據庫服務器");
      mysql_select_db("test",$server) or die("無法連接數據庫");
      $sql = "select filetype,filedata from image where id='$id'";
      $rst = mysql_query($sql,$server) or die("$sql查詢出錯");
      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("無法與數據庫服務器斷開連接");
      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("無法連接數據庫服務器");
      mysql_select_db("test",$server) or die("無法連接數據庫");
      $sql = "select id,description,filename,filetype,filesize from image";
      $rst = mysql_query($sql,$server) or die("$sql查詢出錯");
      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("無法與數據庫服務器斷開連接");
      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("無法連接數據庫服務器");
      mysql_select_db("test",$server) or die("無法連接數據庫");
      $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執行出錯");
      $id = mysql_insert_id();
      echo "<hr>你上傳的圖片效果:<br>";
      echo '<img src="' . $PHP_SELF . '?cmd=read&id=' . $id . '">';
      mysql_close($server) or die("無法與數據庫服務器斷開連接");
      echo '</body>';
      echo '</html>';
      break;
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved