一,建立一个HTML表单 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form enctype="multipart/form-data" action="upload.php" method="post" > <!-- 隐藏值的最大用处是可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦 --> <input type="hidden" name="max_file_size value=100000"> <h2>请选择文件:</h2> <!-- type属性的file值规定了应该把输入作为文件来处理 ,name值作为_FILES[]的接受值--> <input name="userfile" type="file"> <input type="submit" value="上传文件"> </form> </body> </html> 二,建立upload.php接收处理表单提交的内容 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>处理上传文件</title> </head> <body> <?php //上传文件路径 $upload_dir="D:/AppServ/order/"; //通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。
//当文件上传时,该文件将被保存在临时目录中(通过php.ini文件的upload_tmp_dir指令设置的)。如果在脚本执行完成之前不移动、复制
//或更改文件名称,该文件将被删除 if(copy($_FILES['userfile']['tmp_name'],$upload_dir.$_FILES['userfile']['name'])){ echo "文件上传成功! "; } else{ echo "文件上传失败! "; } //$_FILES各项数值的作用 //userfile由表单的name选项设定,可随意指定 echo "上传到服务器的临时文件名:".$_FILES['userfile']['tmp_name']." "; echo "该文件的原文件名:".$_FILES['userfile']['name']." "; echo "上传文件的字节数:".$_FILES['userfile']['size']." "; echo "文件的MIME类型:".$_FILES['userfile']['type']."<br >"; echo "和文件上传相关的错误代码:".$_FILES['userfile']['error']." "; /* 0值:没有错误发生,文件上传成功! * 1值:上传的文件超过了upload_max_filesize的规定值 * 2值:上传文件的大小超过了HTML表单中MAX_FILE_SIZE的规定值 * 3值:文件只有部分被上传 * 4值:没有文件被上传 * 因程序判断部分也可写为: if($_FILES['userfile']['error']>0) * echo "文件上传失败,错误号为:".$_FILES['userfile']['error']." "; * else * echo "文件上传成功!"; */ //PHP处理上传文件的大小以字节计算,默认值为2M(2*1024*1024) /*可以通过修改php.ini中的选项来修改默认值,php.ini的位置可以通过phpinfo()查看 upload_max_filesize //文件上传的最大值 post_max_size //采用POST方法在表单中所能提交的最大数据量,此值要比upload_max_filesize要大 file_uploads //是否云允许通过HTTP上传文件的开关,ON即可 upload_tmp_dir //PHP上传文件的临时放置目录,如未指定则使用系统默认值。UNIX环境下要确认目录有读写权限,win下则无此考量 */ ?> </body> </html>