重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第一步:通过$_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"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 width=55 height=20 align="center" /TD
td height="16"
table width="48%" height="93" border="0" cellpadding="0" cellspacing="0"
tr
td标题:/td
tdinput name="title" type="text" id="title"/td
/tr
tr
td文件: /td
tdlabel
input name="file" type="file" value="浏览"
input type="hidden" name="MAX_FILE_SIZE" value="2000000"
/label/td
/tr
tr
td /td
tdinput 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您的文件已经上传完毕 上传图片预览: /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,将会直接输出原始图象流。
这几个函数你参考一下,希望对你有帮助。