重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php数据库image,php数据库添加数据

PHP在数据库中查询并且显示图片

一般不向数据库插入图片 而是插入图片的src 通过src找到图片然后显示。

水城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

?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=插入成功希望挑战的页面";

}

怎样用php实现上传图片到数据库

php实现上传图片保存到数据库的方法。具体分析如下:

php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)

如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。

首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。

mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。

BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的。可根据需要使用不同的类型。

TinyBlob       最大 255B

Blob              最大 65K

MediumBlob  最大 16M

LongBlob      最大 4G

数据表photo,用于保存图片数据,结构如下:

CREATE TABLE `photo` (  

`id` int(10) unsigned NOT NULL auto_increment,  

`type` varchar(100) NOT NULL,  

`binarydata` mediumblob NOT NULL,  

PRIMARY KEY  (`id`)  

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

upload_image_todb.php代码如下:

?php  

// 连接数据库  

$conn=@mysql_connect("localhost","root","")  or die(mysql_error());  

@mysql_select_db('demo',$conn) or die(mysql_error()); // 判断action  

$action = isset($_REQUEST['action'])? $_REQUEST['action'] : ''; 

// 上传图片  

if($action=='add'){  

$image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));  

$type = $_FILES['photo']['type'];  

$sqlstr = "insert into photo(type,binarydata) values('".$type."','".$image."')";  

@mysql_query($sqlstr) or die(mysql_error());  

header('location:upload_image_todb.php');  

exit();  

// 显示图片  

}elseif($action=='show'){  

$id = isset($_GET['id'])? intval($_GET['id']) : 0;  

$sqlstr = "select * from photo where id=$id";  

$query = mysql_query($sqlstr) or die(mysql_error());  

$thread = mysql_fetch_assoc($query);  

if($thread){  

header('content-type:'.$thread['type']);  

echo $thread['binarydata'];  

exit();  

}  

}else{  

// 显示图片列表及上传表单  

?  

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""  

html  

head  

meta http-equiv="content-type" content="text/html; charset=utf-8"  

title upload image to db demo /title  

/head  

body  

form name="form1" method="post" action="upload_image_todb.php" enctype="multipart/form-data"  

p图片:input type="file" name="photo"/p  

pinput type="hidden" name="action" value="add"input type="submit" name="b1" value="提交"/p  

/form  

?php  

$sqlstr = "select * from photo order by id desc";  

$query = mysql_query($sqlstr) or die(mysql_error());  

$result = array();  

while($thread=mysql_fetch_assoc($query)){  

$result[] = $thread;  

}  

foreach($result as $val){  

echo 'pimg 

src="upload_image_todb.php?action=showid='.$val['id'].'t='.time().'"

width="150"/p';  

}  

?  

/body  

/html  

?php  

}  

?

程序运行截图和数据库截图:

你好,我遇到php读取sql server中image类型的图片数据的问题,现在想把数据库中的图片信息保存成文件

// 定义上传目录

$upload_dir = $_SERVER['DOCUMENT_ROOT'].'/upload/';

// 创建目录

if(!is_dir($upload_dir))mkdir($upload_dir);

// 二进制数据 $picture

$image_type = image_type_to_mime_type($picture));

// 取得图片类型

$temp = explode('/', $image_type);

// 文件名

$uuid = rand(0,100).strtotime('+1 day');

$name = $uuid.$temp[1];

$path = $upload_dir.$name;

// 打开文件准备写入

$file = fopen($path, 'w');

// 写入

fwrite($file, $picture);

//关闭

fclose($file);

php中如何调用数据库中的图片并且显示到页面

php是采用二进制形式存储图片及读取显示的,首先通过代码创建数据表,然后上传图片服务器再通过浏览器显示,具体编程代码举例:

1、首先需要创建数据表,具体代码如下图所示。

2、然后写上传图片到服务器的页面 upimage.html用来将图片上传数据库,如下图所示代码。

3、处理图片上传的php upimage.php文件,如下图所示图片已储存到数据库。

4、显示图片的php getimage.php文件,为了看一下效果提前把ID写入代码。

5、预览网站从数据库中提取了图片,并显示到页面上。

php后台接收前台image思路?我没有正规学习过,不知道这样的写法是否有问题。也不知道如何接收图片?

?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\"";}?

?$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的函数getimagesize可以得到图片的宽高等信息。

获取文件信息:

1、filetype函数:获取文件类型,如函数执行成功则返回如下值中的一个,否则则返回False。七个可能值:fifo、char、dir、block、link、file、unknown2、filesize函数:获取文件大小,以字节计算3、fileatime函数:文件最近访问时间,filemtime函数:文件最近修改时间。这两个PHP文件函数返回的时间戳类似于UNIX时间戳,所以需要通过Date函数进行格式化。4、is_executable、is_link、is_readable、is_writable:这四个PHP文件函数分别返回文件是否可执行、是否是链接、是否可读、是否可写。


本文标题:php数据库image,php数据库添加数据
URL链接:http://cqcxhl.com/article/dsicsip.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP