1. php怎么把数据库中图片的路径转化为图片呢
先用php把数据库中的图片路径读取出来,然后把这个路径嵌入到img元素的src中,就相当于把图片的路径转化为图片了。
2. php 一个图片我想设置权限,让有权限的用户可以打开。 怎样防止用户找到这个图片的绝对地址后直拉打开
classimgdata{
public$imgsrc;
public$imgdata;
public$imgform;
publicfunctiongetdir($source){
$this->imgsrc=$source;
}
publicfunctionimg2data(){
$this->_imgfrom($this->imgsrc);
return$this->imgdata=fread(fopen($this->imgsrc,'rb'),filesize($this->imgsrc));
}
publicfunctiondata2img(){
header("content-type:$this->imgform");
echo$this->imgdata;
//echo$this->imgform;
//imagecreatefromstring($this->imgdata);
}
publicfunction_imgfrom($imgsrc){
$info=getimagesize($imgsrc);
//var_mp($info);
return$this->imgform=$info['mime'];
}
}
$n=newimgdata;
$n->getdir("1.jpg");//图片路径,一般存储在数据库里,用户无法获取真实路径,可根据图片ID来获取
$n->img2data();
$n->data2img();
这段代码是读取图片,然后直接输出给浏览器,在读取和输出之前,进行用户权限判断。
3. 怎样把图片插入到数据库中 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;
}
}
?>
<imgsrc="<?phpecho$base64_image_content;?>"/>