
正文
php数据库中存入图片 php数据库中存入图片的格式
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何使用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=插入成功希望挑战的页面";
}
相关问答
Q1: php怎么存入图片和显示图片
?php
$path='img/';//路径
$phtypes=array(
'img/gif',
'img/jpg',
'img/jpeg',
'img/bmp',
'img/pjpeg',
'img/x-png'
);
?
htmlbody
form method="post" enctype="multipart/form-data" name="form1"
table
trtd上传图片/td/tr
trtdinput type="file" name="photo" size="20" //td/tr
trtdinput type="submit" value="上传"//td/tr
/table
允许上传的文件类型为:?=implode(', ',$phtypes)?/form
?php
if($_SERVER['REQUEST_METHOD']=='POST'){
if (!is_uploaded_file($_FILES["photo"][tmp_name])){
echo "图片不存在";
exit();
}
if(!is_dir('img')){//路径若不存在则创建
mkdir('img');
}
$upfile=$_FILES["photo"];
$pinfo=pathinfo($upfile["name"]);
$name=$pinfo['basename'];//文件名
$tmp_name=$upfile["tmp_name"];
$file_type=$pinfo['extension'];//获得文件类型
$showphpath=$path.$name;
if(in_array($upfile["type"],$phtypes)){
echo "文件类型不符!";
exit();
}
if(move_uploaded_file($tmp_name,$path.$name)){
echo "成功!";
}
echo "img src=\"".$showphpath."\" hight=\"70\" width=\"95\" /";
}
?
/body
/html
这段代码是,当你表单提交的时候,代码就会把你浏览的图片上存到img文件夹里面,如果找不到img文件夹则会自动生成img文件夹并且把图片上存到img文件夹里面。。
路径地址是$showphpath,当你上存一张图片的时候,你echo $showphpath 看看路径。。
然后你用insert语句吧这个$showphpath存入数据库中,
显示图片的话,就img src='?php echo $showphpath;? /出来就可以了。。
Q2: 怎样把图片插入到数据库中 php
保存图片到数据库做什么?保存到本地使用起来也方便,真要保存通过base64字符串保存。
?php
header('Content-type:text/html;charset=utf-8');
//读取图片文件,转换成base64编码格式
$image_file = './image123.jpg';
$image_info = getimagesize($image_file);
$base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file)));
// $base64_image_content 输入到数据库
//保存base64字符串为图片
//匹配出图片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = "./test.{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
echo '新文件保存成功:', $new_file;
}
}
?
img src="?php echo $base64_image_content;?" /
Q3: php中如何将图片储存在数据库里
两种方法:
一:将图片上传至指定目录,在数据库中保存文件名和文件路径。
二:将图片文件读入字符串,将字符串保存到数据库,不推荐(没那么长的字段长度支持)。
Q4: PHP将图片存入数据库
插入图片和一般的数据没什么不同的,一般数据会了,传图片时候就用个move_uploaded_file改变下参数,主要是做这个的时候不要有负担
以下供参考
?
function upload_file($files,$folder)//上传图片
{
$file_tyle = $files['type'];
$file_type_arr = array('image/gif','image/x-png','image/jpg','image/pjpeg');
if(!in_array($file_tyle,$file_type_arr) )
{
exit('file type only can be: png,jpeg,jpg,gif');
}
$knamearray = explode(".",$files["name"]);
$kname = $knamearray[count($knamearray)-1];
$rand_str = date("ymdhis");
$file_name = $rand_str.".".$kname;
$savepath = "$folder/";
/*$savepath = "$folder/date_".date('YmdHis')."/";
if( !is_dir($savepath) ) mkdir($savepath);*/
$upfile = $savepath.$file_name;
if( !move_uploaded_file($files['tmp_name'],$upfile) )
{
exit('upload error, please check your file type: png,jpeg,jpg,gif');
}
return $file_name;//不要回传值此行可注释掉
}
?
php数据库中存入图片的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数据库中存入图片的格式、php数据库中存入图片的信息别忘了在本站进行查找喔。








