文件上传
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <form action="shangchuan.php" method="post" enctype="multipart/form-data"><!--文件传输必须加 enctype 属性 传输数据不用--> <input type="file" name="file"/> <input type="submit" value="上传" /> </form> </body> </html>
运行如图:

输出 $_FILES["file"]

<?php
//var_dump ($_FILES["file"]);//1、用户在上传文件时是否按规则来 加控制
//1、控制上传文件的类型
//2、控制上传文件的大小
//3、防止文件名重复
//1、修改保存的文件名
//加用户名 + 时间戳 + 随机数 + 文件名 最常用
//流水号 做法稍显复杂 在数据库中使用 用的很少
//2、 使用文件夹
//public/lch/2017-2-12/1.jpg
//4、 保存文件
//判断上传是否出错
if(($_FILES["file"]["error"]))
{
echo $_FILES["file"]["error"];
}
else
{
//控制上传文件的类型、大小
if(($_FILES["file"]["type"]=="image/jpeg"|| $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000)
{
//找到文件存放位置
$filename = "./file/".date("YmdHis").$_FILES["file"]["name"];//加时间戳
//转换编码格式
$filename = iconv("UTF-8","gb2312",$filename);
//判断文件是否存在
if(file_exists($filename) )
{
echo "该文件已存在!";
}
else
{
//保存文件
move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
}
}
else
{
echo "文件类型不正确";
}
}
若图片名称为汉字:
使用转换编码格式
$filename = iconv("UTF-8","gb2312",$filename);
![]()
若不是使用 iconv 图片文字 因为与编码格式不同 呈现乱码
move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
move_uploaded_file() 函数将上传的文件移动到新位置。
若成功,则返回 true,否则返回 false。


浙公网安备 33010602011771号