上传文件的表单使用 post 方式,并且要在 form 中添加 enctype='multipart/form-data'。一般可以加上隐藏域:,位置在 file 域前面。value 的值是上传文件的客户端字节限制。可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。
使用 file 文件域来选择要上传的文件,当点击提交按钮之后,文件会被上传到服务器中的临时目录,在脚本运行结束时会被销毁,所以应该在脚本结束之前,将其移动到服务器上的某个目录下,可以通过函数 move_uploaded_file()来移动临时文件,要获取临时文件的信息,使用$_FILES。
限制上传文件大小的因素有:
1) 客户端的隐藏域 MAX_FILE_SIZE 的数值(可以被绕开)。
2) 服务器端的 upload_max_filesize,post_max_size 和 memory_limit。这几项不能够用脚本来设置。
3) 自定义文件大小限制逻辑。即使服务器的限制是能自己决定,也会有需要个别考虑的情况。所以这个限制方式经常是必要的。