网站建设淘宝走流程,wordpress国内网站,郴州市地图全图,seo网站推广首页排名上传文件功能由两个部分组成#xff0c;HTML页面和PHP处理部分。HTML页面主要是让用户选择所要上传的文件#xff0c;php部分让我们可以把文件存储到服务器的指定目录。 一#xff0e;HTML部分 upload.html [html] view plaincopyhtml head HTML页面和PHP处理部分。HTML页面主要是让用户选择所要上传的文件php部分让我们可以把文件存储到服务器的指定目录。 一HTML部分 upload.html [html] view plain copy html head meta contenttext/html; charsetutf-8 http-equivContent-Type /head body 上传Demo form actionupload.php methodpost enctypemultipart/form-data input typefile nameimg / input typesubmit namesubmit value上传 / /form /body /html 说明 1.Input标签中typefile表明把输入作为文件来处理。 2.Enctype规定了在提交这个表单时要使用哪种内容类型。在表单需要二进制数据时比如文件内容请使用multipart/form-data如果要上传文件这个属性是必要的。 更多关于enctype的内容参见《HTML form 标签的 enctype 属性》 二php部分 upload.php [php] view plain copy ?php $DST_DIR /data/upload/; // 最后面加反斜杠 if ($_FILES[img][name] ! ) { if ($_FILES[img][error] 0) { echo 上传失败; } else { if (move_uploaded_file($_FILES[img][tmp_name], $DST_DIR.$_FILES[img][name])) { echo 上传成功; } else { echo 上传失败; } } } else { echo 请上传文件; } 说明 1. 全局变量$_FILE 此数组包含有所有上传的文件信息。 以我们假设文件上传字段的名称如上例所示为 img。则 $_FILES[img][name] 客户端上传的文件的原名称。 $_FILES[img][type] 文件的 MIME 类型如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查因此不要想当然认为有这个值。$_FILES[img][size]已上传文件的大小单位为字节。 $_FILES[img][size] 已上传文件的大小单位为字节。 $_FILES[img][tmp_name] 文件被上传后在服务端储存的临时文件名。 $_FILES[img][error] 和该文件上传相关的错误代码。 2. 关于错误码 $_FILES[img][error]有以下几种类型 UPLOAD_ERR_OK 其值为 0没有错误发生文件上传成功。 UPLOAD_ERR_INI_SIZE 其值为 1上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值。 UPLOAD_ERR_FORM_SIZE 其值为 2上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 UPLOAD_ERR_PARTIAL 其值为 3文件只有部分被上传。 UPLOAD_ERR_NO_FILE 其值为 4没有文件被上传。 UPLOAD_ERR_NO_TMP_DIR 其值为 6找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。 UPLOAD_ERR_CANT_WRITE 其值为 7文件写入失败。PHP 5.1.0 引进。 3.move_uploaded_file 文件被上传后默认地会被储存到服务端的默认临时目录中除非 php.ini 中的 upload_tmp_dir设置为其它的路径文件名是随机的。如果该文件没有被移动到其它地方也没有被改名则该文件将在表单请求结束时被删除。因此需要通过move_uploaded_file移动临时文件。 经实验copy也能完成move_uploaded_file的功能为啥要用move_uploaded_file呢有说法是move_uploaded_file会对上传文件做一些检查防止copy引起的一些安全漏洞。但具体copy会带来什么问题呢我并没有查到。有知道的同学欢迎留言。 Anyway既然php给了特定的函数必然有一定道理先这么用吧。 三安全检查 可以考虑通过$_FILES[img][size]和$_FILES[img][type]对上传的文件做一些安全检查比如限定上传类型上传文件的大小等。 附 《与文件上传有关的php配置参数》