PHP怎么把图片数据保存为jpg图片到服务器目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP怎么把图片数据保存为jpg图片到服务器目录相关的知识,希望对你有一定的参考价值。
现在用js获取到了图片数据,怎么把这数据传给PHP然后保存为图片形式到服务器目录里
第一步:通过$_FILES获取文件信息。
第二步:指定新文件名称以及路径,并赋值给一个变量。
第三步:通过move_uploaded_file上传文件。
第四步:上传成功后,将数值存入数据库服务器目录即可。
代码如下
1.conn.php
<?
$host="localhost"; //数据库服务器名称
$user="root"; //用户名
$pwd="1721"; //密码
$conn=mysql_connect($host,$user,$pwd);
mysql_query("SET
character_set_connection=gb2312,
character_set_results=gb2312,
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>";
return true;
?>
2.upload.php
<?php
if ($_GET['action'] == "save")
include_once('conn.php');
include_once('uploadclass.php');
$title=$_POST['title'];
$pic=$uploadfile;
if($title == "")
echo"<Script>window.alert('对不起!你输入的信息不完整!');history.back()</Script>";
$sql="insert into upload(title,pic) values('$title','$pic')";
$result=mysql_query($sql,$conn);
//echo"<Script>window.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 width=55 height=20 align="center"> </TD>
<td height="16">
<table width="48%" height="93" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>标题:</td>
<td><input name="title" type="text" id="title"></td>
</tr>
<tr>
<td>文件: </td>
<td><label>
<input name="file" type="file" value="浏览" >
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
</label></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="上 传" name="upload"></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>
3.uploadclass.php
<?php$uploaddir = "upfiles/";//设置文件保存目录 注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型
$patch="upload/";//程序所在路径
//获取文件后缀名函数
function fileext($filename)
return substr(strrchr($filename, '.'), 1);
//生成随机文件名函数
function random($length)
$hash = 'CR-';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$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']);
do
$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>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>";
echo "<br><center><a href='upload.htm'>继续上传</a></center>";
?> 参考技术A 楼主,你可以用 ajax 试一试
js 要 传送数据给 PHP 的话,就是 JS 要发送服务器请求,目前我所知道的方法是: post / get 通过 一个隐藏按钮,另一种是 ajax ,楼主可以尝试一下追问
这是处理图片数据的代码,打开1.png的时候提示文件损坏,传过来的数据是data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVV...
这样的
你 echo 一下 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVV. 数据,然后在新的文件中 添加一个 header("Content-type:image/jpg"); 试试,看看图片是否正常显示
追问使用base64_decode后,生成的文件里面是这样的
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVV
图片数据格式是这样的,怎么保存,我搜的没法保存
电脑图片怎么改成png格式
图片的格式分为很多种,但在我们生活中最常用的图片格式还是以JPG为主。那么怎样把照片变成JPG格式?接下来详细为大家介绍转化方法:
方法一:美图秀秀修改格式: 1、打开图片。2、然后点保存,在窗口里面写着保存格式(如:jpg)的地方下拉,选择需要的格式。
方法二:用windows自带的 [画图] 工具。开始>所有程序>附件>画图>打开要编辑的图片>用鼠标点击菜单栏的>文件>保存为>在保存类型那里选择 jpg、gif、png 任意一种,一般用jpg。
方法三:1.点击电脑左下方的“开始”菜单,在搜索栏中输入“画图”查找画图工具。2.点击打开画图工具,在操作界面中的左上角点击菜单栏选择打开。3.导入要转化成jpg格式的图片,点击打开。4.再次点击左上角的“文件”菜单,点击“另存为”。5.在保存类型里选择jpg格式,点击保存就可以。
方法四:用photoshop在PHOTOSHOP里面把做好的照片存储或另存为的时候,会弹出来一个对话框,对话框里有一个格式,你在格式的右边下拉找到JPGE(*.JPGE;*.JPGE;*.jpe),保存即可。
方法五、用QQ,选择打一个聊天窗口,然后点发送图片,选择图片,在图片上单面右键--另存为,选择jpg格式。
参考技术A电脑里的JPG格式的图片转换成PNG格式的可以通过格式工厂这个软件来进行格式的转换,转换的操作方法如下:
1、首先在格式工厂软件的首页点击你要转换图片的最终格式【PNG】。
2、进入到接下来的操作页面中以后,然后需要我们进行点击【添加文件】。
3、接着需要你进行选择要改变格式的照片,然后点击下方的【打开】。
4、添加好要改变格式的文件以后,接着点击上方的【确定】。
5、最后在任务的启动页面的上方点击【开始】就可以实现电脑里的JPG格式的图片转换成PNG格式的了。
以上是关于PHP怎么把图片数据保存为jpg图片到服务器目录的主要内容,如果未能解决你的问题,请参考以下文章
android怎么将图片传送到服务器,然后将图片保存在mysql数据库中?