网站首页 > 文章中心 > 其它

php保存数据流图片

作者:小编 更新时间:2023-10-13 07:34:09 浏览量:98人看过

用php如何把图像数据流保存

imagegif(resource $image [, string $filename ]) 从 image 图像以 filename 为文件名创建一个 GIF 图像.image 参数是 imagecreate() 或 imagecreatefrom* 函数的返回值.

imagejpeg(resource $image [, string $filename ]) 从 image 图像以 filename 为文件名创建一个 JPEG 图像.

imagepng(resource $image [, string $filename ]) 将 GD 图像流(image)以 PNG 格式输出到标准输出(通常为浏览器),或者如果用 filename 给出了文件名则将其输出到该文件.

filename 文件保存的路径,如果未设置或为 NULL,将会直接输出原始图象流.

这几个函数你参考一下,希望对你有帮助.

php 数据库图片存储问题?

存储的是相对路径,可以到网站服务器上查看,应该有upload文件夹,里面就是存储的图片,这样写的好处是节省了数据库存储空间,转移的时候可以直接将整个服务器的图片打包转移.

访问的时候,前面可以拼接域名和指定的路径,这些后台可以轻松获取到,然后拼接上服务器的路径,我们就可以直接在网页上访问到图片了.

这是很常见的图片数据库保存方式,和直接把图片的二进制存入数据库,这样的方式便于检索,占用空间小.当然,目前主流都采用oss来单独存储文件了,就是有专门的文件服务器,这个时候,一般存储的是完整的图片路径.

php怎么输出图片和存储图片?

这里我要跟你说明一下,如果你在一个公司的话,公司的数据库 是绝对不会让你直接在数据库里面存储图片的,只会存储一个服务器的路径而已,所以你要先把图片路径输出出来 数据库图片类型 varchar

PHP怎么把图片数据保存为jpg图片到服务器目录

第一步:通过$_FILES获取文件信息.

第二步:指定新文件名称以及路径,并赋值给一个变量.

第三步:通过move_uploaded_file上传文件.

第四步:上传成功后,将数值存入数据库服务器目录即可.

代码如下

①conn.php

$host="localhost";?//数据库服务器名称?

$user="root";?//用户名?

$conn=mysql_connect($host,$user,$pwd);?

mysql_query("SET?

character_set_client=binary",$conn);?

if?($conn==FALSE)?

{?

echo?"center服务器连接失败!br请刷新后重试./center";?

return?true;?

}?

$databasename="database";//数据库名称?

do?

$con=mysql_select_db($databasename,$conn);?

}while(!$con);?

if?($con==FALSE)?

echo?"center打开数据库失败!br请刷新后重试./center";?

php?

if?($_GET['action']?==?"save"){?

include_once('conn.php');?

include_once('uploadclass.php');?

$title=$_POST['title'];?

$pic=$uploadfile;?

if($title?==?"")?

echo"Scriptwindow.alert('对不起!你输入的信息不完整!');history.back()/Script";?

$sql="insert?into?upload(title,pic)?values('$title','$pic')";?

$result=mysql_query($sql,$conn);?

//echo"Scriptwindow.alert('信息添加成功');location.href='upload.php'/Script";?

html?

head?

title文件上传实例/title?

/head?

body?

form?method="post"?action="?action=save"?enctype="multipart/form-data"?

table?border=0?cellspacing=0?cellpadding=0?align=center?width="100%"?

tr?

td标题:/td?

tdinput?name="title"?type="text"?id="title"/td?

/tr?

td文件:?/td?

tdlabel?

input?name="file"?type="file"?value="浏览"?

/label/td?

td?/td?

tdinput?type="submit"?value="上?传"?name="upload"/td?

/table/td?

/table?

/form?

/body?

/html

$uploaddir?=?"upfiles/";//设置文件保存目录?注意包含/?

$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型?

$patch="upload/";//程序所在路径?

//获取文件后缀名函数?

function?fileext($filename)?

return?substr(strrchr($filename,?'.'),?1);?

//生成随机文件名函数?

function?random($length)?

$hash?=?'CR-';?

$max?=?strlen($chars)?-?1;?

mt_srand((double)microtime()?*?1000000);?

for($i?=?0;?$i?$length;?$i◆◆)?

$hash?.=?$chars[mt_rand(0,?$max)];?

return?$hash;?

$a=strtolower(fileext($_FILES['file']['name']));?

//判断文件类型?

if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type))?

$text=implode(",",$type);?

echo?"您只能上传以下类型文件:?",$text,"br";?

//生成目标文件的文件名?

else{?

$filename=explode(".",$_FILES['file']['name']);?

$filename[0]=random(10);?//设置随机数长度?

$name=implode(".",$filename);?

//$name1=$name.".Mcncc";?

$uploadfile=$uploaddir.$name;?

while(file_exists($uploadfile));?

if?(move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile))?

if(is_uploaded_file($_FILES['file']['tmp_name']))?

echo?"上传失败!";?

else?

{//输出图片预览?

echo?"center您的文件已经上传完毕?上传图片预览:?/centerbrcenterimg?src='$uploadfile'/center";?

echo?"brcentera?href='upload.htm'继续上传/a/center";?

批量添加图片后怎么存入数据库?

通常对用户上传的图片需要保存到数据库中.解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中.以下为具体方法:

第一段:保存图片的上传路径到数据库:

string uppath="";//用于保存图片上传路径

//获取上传图片的文件名

string fileFullname = this.FileUpload1.FileName;

//获取图片上传的时间,以时间作为图片的名字可以防止图片重名

string dataName = DateTime.Now.ToString("yyyyMMddhhmmss");

//获取图片的文件名(不含扩展名)

string fileName = fileFullname.Substring(fileFullname.LastIndexOf("\\") ◆ 1);

//获取图片扩展名

string type = fileFullname.Substring(fileFullname.LastIndexOf(".") ◆ 1);

//判断是否为要求的格式

if (type == "bmp" || type == "jpg" || type == "jpeg" || type == "gif" || type == "JPG" || type == "JPEG" || type == "BMP" || type == "GIF")

{

//将图片上传到指定路径的文件夹

this.FileUpload1.SaveAs(Server.MapPath("~/upload") ◆ "\\" ◆ dataName ◆ "." ◆ type);

//将路径保存到变量,将该变量的值保存到数据库相应字段即可

uppath = "~/upload/" ◆ dataName ◆ "." ◆ type;

}

第二段:将图片以二进制数据流直接保存到数据库:

引用如下命名空间:

using System.Drawing;

using System.IO;

using System.Data.SqlClient;

设计数据库时,表中相应的字段类型为iamge

保存:

//图片路径

string strPath = this.FileUpload1.PostedFile.FileName.ToString ();

//读取图片

FileStream fs = new System.IO.FileStream(strPath, FileMode.Open, FileAccess.Read);

BinaryReader br = new BinaryReader(fs);

byte[] photo = br.ReadBytes((int)fs.Length);

br.Close();

fs.Close();

//存入

SqlCommand myComm = new SqlCommand(strComm, myConn);

myComm.Parameters.Add("@photoBinary", SqlDbType.Binary, photo.Length);

myComm.Parameters["@photoBinary"].Value = photo;

myConn.Open();

if (myComm.ExecuteNonQuery() 0)

this.Label1.Text = "ok";

myConn.Close();

读取:

...连接数据库字符串省略

mycon.Open();

SqlCommand command = new

byte[] image = (byte[])command.ExecuteScalar ();

//指定从数据库读取出来的图片的保存路径及名字

string strPath = "~/Upload/zhangsan.JPG";

string strPhotoPath = Server.MapPath(strPath);

//按上面的路径与名字保存图片文件

BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));

bw.Write(image);

bw.Close();

//显示图片

this.Image1.ImageUrl = strPath;

采用俩种方式可以根据实际需求灵活选择.

php如何将webservice返回的二进制流保存到本地图片

前几天 刚弄的 app提交图片的接口,二进制那种比较麻烦,

让app那端也用 浏览器那种方式提交过来,php正常接收就ok

然后返回地址、图片属性,(这边不用保存到本地吧,app那端应该是保存到本地),多个的话循环一下也行,也不慢

最后app把多个图片以及表情、内容什么的提交过来 ,然后保存到数据库 应该是 ok的 ,如果 单独保存图片 正则匹配一下!!!

以上就是土嘎嘎小编为大家整理的php保存数据流图片相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章