上傳圖片保存到MySql數據庫並顯示--經驗證有效


 以下方法僅供參考,只是介紹下這一種方法而已。歡迎指正!!


前台(image.html):
 1<html>
 2<head>
 3<title>上傳圖片</title>
 4</head>
 5<body>
 6<form method="post" action="upimage.php" enctype="multipart/form-data"><center><br><br><br><br>
 7  <input type="hidden" value="204800" name="MAX_FILE_SIZE"/>
 8  File: <input type="file" name="imgfile" /><br><br>
 9  <input type="submit" value="OK" name="submitbtn" style="width:100px;height:23px"/></center>
10 </form>
11</body>
12</html>

后台處理(upimage.php):
 1<?php 
 2    //向數據庫中插入圖片
 3    $imgfile=$_FILES['imgfile'];
 4    $submitbtn=$_POST['submitbtn'];
 5    if($submitbtn=='OK' and is_array($imgfile))
 6    {
 7        $name=$imgfile['name'];  //取得圖片名稱
 8        $type=$imgfile['type']; //取得圖片類型
 9        $size=$imgfile['size'];  //取得圖片長度
10        $tmpfile=$imgfile['tmp_name'];  //圖片上傳上來到臨時文件的路徑
11        if($tmpfile and is_uploaded_file($tmpfile))  //判斷上傳文件是否為空,文件是不是上傳的文件
12        {
13            //讀取圖片流
14            $file=fopen($tmpfile,"rb");
15            $imgdata=bin2hex(fread($file,$size));  //bin2hex()將二進制數據轉換成十六進制表示
16            fclose($file);
17            
18            $mysqli=mysql_connect("localhost","root","123456");  //連接數據庫函數
19            mysql_select_db("test");  //選擇數據庫
20            //插入出數據庫語句,圖片數據前要加上0x,用於表示16進制數
21            if(mysql_query("insert into images(name,type,image) values('".$name."','".$type."',0x".$imgdata.")"))
22                echo "<center>插入成功!<br><br><a href='disimage.php'>顯示圖片</a></center>";
23            else
24                echo "<center>插入失敗!</center>";
25            mysql_close();
26        }
27        else 
28            echo "<center>請先選擇圖片!<br><br><a href='image.html'>點此返回</a></center>";
29    }    
30    else 
31        echo "<center>請先選擇圖片!<br><br><a href='image.html'>點此返回</a></center>";
32?>

顯示圖片(disimage.php):
 1<?php
 2    mysql_connect("localhost","root","123456");
 3    mysql_select_db("test");
 4    //顯示最新插入的那張圖片
 5    $result=mysql_query("select image from images where id=(select max(id) from images)");  
 6    $row=mysql_fetch_object($result);
 7    header("Content-Type:image/pjpeg");  
 8    echo $row->image;
 9    mysql_close();
10?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM