當前位置:首頁 » 文件傳輸 » php圖片上傳即時顯示
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

php圖片上傳即時顯示

發布時間: 2023-07-26 22:44:31

A. 如何使用PHP向資料庫中插入圖片,,並且使得圖片可以顯示在頁面上

一般不向資料庫插入圖片 而是插入圖片的src 通過src找到圖片然後顯示。
<?php
session_start();

//array數組中放圖片的格式
$uptypes = array("image/jpg","image/jpeg","image/png","image/pjpeg","image/gif","image/bmp","image/x-png");
$files =$_FILES["uppic"];
if($files["size"]>2097152){ //圖片大小判斷
echo "上傳圖片不能大於2M";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'>";
exit;
}
$ftype =$files["type"];
if(!in_array($ftype,$uptypes)){ //圖片格式判斷
echo "上傳的圖片文件格式不正確";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'>";
}
$fname = $files["tmp_name"]; //在伺服器臨時存儲名稱
$image_info = getimagesize($fname);
$name = $files["name"];
$str_name = pathinfo($name); //以數組的形式返迴文件路勁的信息
$extname = strtolower($str_name["extension"]); //把字元串改為小寫 extensiorn擴展名
$upload_dir = "upload/"; //upload文件夾
$file_name = date("YmdHis").rand(1000,9999).".".$extname;
$str_file = $upload_dir.$file_name; //文件目錄
//存入資料庫
$con=mysql_connect("localhost","root","");
if(!$con){
die(("資料庫連接失敗").mysql_error());
}
mysql_select_db("mywork",$con);
$sql="update user set picpath='$str_file' where user_name='$username'"; //將圖片地址插入資料庫mywork
mysql_query($sql,$con);
mysql_close($con);
if(!file_exists($upload_dir)){
mkdir($upload_dir); //創建目錄 成功則返回true 失敗則返回flase
}
if(!move_uploaded_file($files["tmp_name"],$str_file)){ //將上傳的文件移動到新的目錄 要移動文件 和文件新目錄 成功則返回true
echo "圖片上傳失敗";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=插入失敗後希望跳轉的頁面>";
}
else{
//echo "<img src=".$str_file.">";
echo "圖片上傳成功";
echo "<meta http-equiv='REFRESH' CONTENT='1;URL=插入成功希望挑戰的頁面>";
}

B. php 圖片上傳預覽功能怎麼實現

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="物碼運fileField" id="fileField" />
<input type="submit" name="submit" id="submit" value="提交" />
</form>
<?php
if($_POST["submit"])
{
$file_gai = $_FILES["fileField"];$filename_gai=$file_gai["tmp_name"];
$destination = basename($file_gai["name"]);
if(!move_uploaded_file ($filename_gai, $destination))
{
echo "<font color='red'>移動文件出錯!</a>";
}else{
echo ("<script>模岩location.href='?file=".urlencode($destination)."'</script>");
}
}if($_GET["罩梁file"])
{
echo "<img src='".urldecode($_GET["file"])."'>";
}
?>

C. 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"]);

D. PHP實現上傳圖片到資料庫並顯示輸出的方法

本文實例講述了PHP實現上傳圖片到資料庫並顯示輸出的方法。分享給大家供大家參考,具體如下:
1.
創建數據表
CREATE
TABLE
ccs_image
(
id
int(4)
unsigned
NOT
NULL
auto_increment,
description
varchar(250)
default
NULL,
bin_data
longblob,
filename
varchar(50)
default
NULL,
filesize
varchar(50)
default
NULL,
filetype
varchar(50)
default
NULL,
PRIMARY
KEY
(id)
)engine=myisam
DEFAULT
charset=utf8
2.
用於上傳圖片到伺服器的頁面
upimage.html
<!doctype
html>
<html
lang="en">
<head>
<meta
charset="UTF-8">
<meta
name="viewport"
content="width=device-width,
user-scalable=no,
initial-scale=1.0,
maximum-scale=1.0,
minimum-scale=1.0">
<meta
http-equiv="X-UA-Compatible"
content="ie=edge">
<style
type="text/css">
*{margin:
1%}
</style>
<title>Document</title>
</head>
<body>
<form
method="post"
action="upimage.php"
enctype="multipart/form-data">
描述:
<input
type="text"
name="form_description"
size="40">
<input
type="hidden"
name="MAX_FILE_SIZE"
value="1000000">
<br>
上傳文件到資料庫:
<input
type="file"
name="form_data"
size="40"><br>
<input
type="submit"
name="submit"
value="submit">
</form>
</body>
</html>
3.
處理圖片上傳的php
upimage.php
<?php
if
(isset($_POST['submit']))
{
$form_description
=
$_POST['form_description'];
$form_data_name
=
$_FILES['form_data']['name'];
$form_data_size
=
$_FILES['form_data']['size'];
$form_data_type
=
$_FILES['form_data']['type'];
$form_data
=
$_FILES['form_data']['tmp_name'];
$dsn
=
'mysql:dbname=test;host=localhost';
$pdo
=
new
PDO($dsn,
'root',
'root');
$data
=
addslashes(fread(fopen($form_data,
"r"),
filesize($form_data)));
//echo
"mysqlPicture=".$data;
$result
=
$pdo->query("INSERT
INTO
ccs_image
(description,bin_data,filename,filesize,filetype)
VALUES
('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
if
($result)
{
echo
"圖片已存儲到資料庫";
}
else
{
echo
"請求失敗,請重試";
注:圖片是以二進制blob形式存進資料庫的,像這樣
4.
顯示圖片的php
getimage.php
<?php
$id
=2;//
$_GET['id'];
為簡潔,直接將id寫上了,正常應該是通過用戶填入的id獲取的
$dsn='mysql:dbname=test;host=localhost';
$pdo=new
PDO($dsn,'root','root');
$query
=
"select
bin_data,filetype
from
ccs_image
where
id=2";
$result
=
$pdo->query($query);
$result=$result->fetchAll(2);
//
var_mp($result);
$data
=
$result[0]['bin_data'];
$type
=
$result[0]['filetype'];
Header(
"Content-type:
$type");
echo
$data;
到瀏覽器查看已經上傳的圖片,看是否可以顯示
是沒有問題的,證明圖片已經以二進制的形式存儲到資料庫了
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php+mysql資料庫操作入門教程》、《php+mysqli資料庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《php字元串(string)用法總結》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:php實現上傳圖片保存到資料庫的方法php上傳圖片存入資料庫示例分享php上傳圖片到指定位置路徑保存到資料庫的具體實現php中如何將圖片儲存在資料庫里php下將圖片以二進制存入mysql資料庫中並顯示的實現代碼php
從資料庫提取二進制圖片的處理代碼php將圖片保存入mysql資料庫失敗的解決方法php將圖片文件轉換成二進制輸出的方法php圖片的二進制轉換實現方法

E. php把圖片上傳到資料庫並顯示

blob類型
<?php
/*******************************************************
** 文件名:upload_file.php
** Copyright @ 2009
** 創建人:tabor
** 日期:2009年7月24日 8:00
** 修改人:
** 日期:
** 描述:文件上傳操作以及對圖片文件的處理
** 版本:
********************************************************/
class upload_file {
//保存的文件名
public $file_name;
//系統中上傳文件的臨時存放路徑
public $file_tmp_name;
//文件大小
public $file_size;
//完整的文件類型
public $full_file_type;
//文件類型
public $file_type;
//文件是否覆蓋
public $override = 1;
//文件的保存路徑
public $file_save_path = '';
//上傳文件大小的最大值 單位是位元組 2M
public public $file_max_size = 210000000;
//public public $file_max_size = 102400;

//構造函數
function __construct($file_name = '', $file_tmp_name = '', $full_file_type = '', $file_size = '', $file_save_path = '') {
$this->file_name = $file_name;
$this->file_tmp_name = $file_tmp_name;
$this->full_file_type = $full_file_type;
$this->file_size = $file_size;
$this->file_save_path = $file_save_path;
}
//取得文件的後綴名,即文件類型
function get_file_type() {
$type_array = explode('.', $this->file_name);
return $type_array[count($type_array)-1];
}
//判斷文件的大小
function check_size() {
if($this->file_size > $this->file_max_size) {
return false;
}
return true;
}
//取得文件的大小
function get_size() {
return intval($this->file_size/1024);
}
//上傳圖片 格式 jpg,png,gif,pjpeg
function check_upload_pic() {
$type = $this->get_file_type();
$type_array = array('jpg', 'png', 'gif', 'bmp');
foreach($type_array as $value) {
if($value = $type) {
return true;
}
return false;
}
}
//上傳文件 格式 zip rar
function check_upload_file() {
$type = $this->get_file_type();
$type_array = array('jpg','gif','bmp','png');
foreach($type_array as $value) {
if($value == $type) {
return true;
}
return false;
}

}
//判斷文件是否存在
function check_exist() {
$file = $this->file_save_path.$this->file_name;
return file_exists($file);
}
//上傳文件
function move_upfile() {
if(!$this->check_upload_pic()) {
echo "ok1";
return false;
}
else {
if(!$this->check_size()) {
echo "ok2";
return false;
}
else {
// if($this->check_exist()) {
// echo "該文件已存在";
// return false;
// }
// else {
$path = $this->file_save_path.$this->file_name;
if(move_uploaded_file($this->file_tmp_name, $path)) {
return true;
}
else {
return false;
}

// }
}
}
}
//將上傳的圖片打水印
/**
* $water_pic_name 將要被打水印的目標圖片
* $water_word 水印文字
* $path 將來生成水印圖片的存放路徑
*/
function create_water_pic($water_word) {
$type = $this->get_file_type();
$filename = $this->file_save_path.$this->file_name;
switch($type) {
case 'jpg':
header("content-type:image/jpeg"); //定義輸出圖像的類型
$im = imagecreatefromjpeg($filename); //載入圖片
break;
case 'png':
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 'gif':
header("content-type:image/gif");
$im = imagecreatefromgif($filename);
break;
case 'bmp':
header("content-type:image/xbm"); //上傳bmp格式存在問題
$im = imagecreatefromxbm($filename); //無法打水印
break;
default: {
echo "文件格式不符";
}
}
$textcolor = imagecolorallocate($im, 56, 73,136); //設定字體的顏色
$font = "simhei.ttf"; //定義字體
$word = $water_word; //水印字元
$x = imagesx($im); //獲取圖片的寬度
$y = imagesy($im); //獲取文件的高度
$position_x = $x-80;
$position_y = $y-10;
$str = iconv('gbk', 'utf-8', $word); //將中文文字顯示出來的編碼過程
imagettftext($im, 20, 0, $position_x, $position_y, $textcolor, $font, $str);
//imagejpeg($im); //顯示圖片
$new = $this->file_save_path.'water'.$this->file_name; //生成新的文件名
switch($type) {
case 'jpg':
imagejpeg($im, $new); //生成jpg圖像
break;
case 'png':
imagepng($im, $new); //生成png圖像
break;
case 'gif':
imagegif($im, $new); //生成gif圖像
break;
case 'bmp':
imagexbm($im, $new); //生成bmp圖像 該格式的文件處理有問題
break;
default: {
echo "文件格式不符";
}
}
imagedestroy($im); //結束圖形,釋放內存空間*/
}
//生成縮略圖
/**
* $pic 圖片名 包括其擴展名,但不包括路徑
* $width 將來生成縮略圖的寬度
* $height 將來生成縮略圖的高度
* $path 生成縮略圖的存放路徑
*/
function create_thumbnail($width, $height) {
$type = $this->get_file_type();
$filename = $this->file_save_path.$this->file_name;
$img = getimagesize($filename);
//print_r($img);
//die();
switch($img[2]) {
case 1:
header("content-type:image/gif"); //定義輸出圖像的類型
$im = imagecreatefromgif($filename); //載入圖片
break;
case 2:
header("content-type:image/jpeg");
$im = imagecreatefromjpeg($filename);
break;
case 3:
header("content-type:image/png");
$im = imagecreatefrompng($filename);
break;
case 6:
header("content-type:image/xbm"); //bmp格式存在問題
$im = imagecreatefromxbm($filename); //無法打水印
break;
default: {
echo "文件格式不符";
}
}
$thumb = imagecreatetruecolor($width, $height); //創建一個新的空白的面板
$color = imagecolorallocate($im, 200, 255, 100); //調色板
/*bool imageresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
imageresized() 將一幅圖像中的一塊正方形區域拷貝到另一個圖像中。dst_image 和 src_image 分別是目標圖像和源圖像的標識符。
*/
imageresized($thumb, $im, 0, 0, 0, 0, $width, $height, $img[0], $img[1]);
//imagejpeg($thumb);
$thumb_path = $this->file_save_path."thumbnail/".$this->file_name;
switch($img[2]) {
case 1:
imagejpeg($thumb, $thumb_path);
break;
case 2:
imagegif($thumb, $thumb_path);
break;
case 3:
imagepng($thumb, $thumb_path);
break;
case 6:
imagexbm($thumb, $thumb_path);
break;
default: {
echo "文件格式不符";
}
}
}
}
?>

前幾天做的一個類,可以正常的使用,但還存在問題,僅供參考!忘對您有所幫助