第一步:通过$_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";?
前几天 刚弄的 app提交图片的接口,二进制那种比较麻烦,
让app那端也用 浏览器那种方式提交过来,php正常接收就ok
然后返回地址、图片属性,(这边不用保存到本地吧,app那端应该是保存到本地),多个的话循环一下也行,也不慢
最后app把多个图片以及表情、内容什么的提交过来 ,然后保存到数据库 应该是 ok的 ,如果 单独保存图片 正则匹配一下!!!
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将数据流保存为图片相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!