<!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。