手机版

解释PHP中上传文件的处理

时间:2021-10-29 来源:互联网 编辑:宝哥软件园 浏览:

当我们在浏览器中编辑自己的信息时,会遇到上传头像的情况。在图书馆,我们会上传文件.“上传”这个词无处不在。

Php是最好的语言(其他语言的程不打我.).Php在处理交互方面有天然的优势,自然有强大的功能来处理上传的文件。

就像提交一般数据一样,上传文件需要一个表单。设置一个特殊的表单来上传文档。

form enctype=' multipart/form-data ' action=' upload _ file . PHP ' name=' upload _ form ' method=' post '!-max _ file _ size必须在所有输入之前。如果以后要使用上传表单,可以写隐藏输入-输入类型='隐藏'名称=' max _ file _ size '值=' '/上传文件后表单:输入类型=' file '名称=' user file '/输入类型=' submit '名称=' sub _ button '值='上传文件的提交按钮'/即可。

上面的enctype指定了数据发送到服务器时应该采用的编码格式。它有三个值:

MAX_FILE_SIZE隐藏字段(以字节为单位)必须放在文件输入字段之前,其值是文件的最大大小。这是给浏览器的一个建议,php也会检查这个项目。但是,这个障碍可以在浏览器端绕过,所以不要指望用它来阻止大文件。最大文件大小受到php.ini中post_max_size=(number)M的限制.不过还是加这个项目比较好,可以避免用户花时间等待大文件上传后发现大文件上传失败的麻烦。

用户提交文件表单后,服务器可以接受数据。PHP中有一个全局变量$_FILES来处理文件。假设上传字段的名称叫做userfile(可以在字段中随意更改)。

$_FILES['userfile']['name']客户端文件的原始名称。$_FILES['userfile']['type']文件的MIME类型,在PHP端没有勾选,所以这个值还不一定存在。$_FILES['userfile']['size']上传文件的大小(以字节为单位)。$ _ files[' user file '][' tmp _ name ']文件上传后存储在服务器端的临时文件名。$_FILES['userfile']['error']以及与文件上载相关的错误代码。如果上传成功,该值为0。

上传后,文件默认存储在服务器的默认临时目录下,php.ini中的upload_tmp_dir设置为另一个路径。

这里我们要讲一个move_uploaded_file()函数:

该功能检查并确保文件指定的文件是合法上传的文件(即通过PHP的HTTP POST上传机制上传)。如果文件合法,将其移动到newloc指定的文件中。

如果文件不是合法上传的文件,则不会发生任何操作,move_uploaded_file()将返回false。

如果文件是合法上传的文件,但由于某种原因无法移动,则不会发生任何操作,move _ uploaded _ file()将返回false,并发出警告。

如果上传的文件可能导致其内容显示给用户或系统的其他用户,则该检查尤为重要。

下面是一个php上传文件的例子:

上传文件处理?phpif(isset($ _ FILES[' user FIle ']){ $ uploaddir=' upload/';$uploadfile=$uploaddir。base name($ _ FILES[' user FIle '][' name ']);回声“pre”;if(move _ uploaded _ file($ _ files[' user file '][' tmp _ name '],$ uploadfile)) {echo' file上传成功'。br ';} else {echo '上传文件失败。br ';}echo“这是有关上传文件的一些信息:“”。br ';print _ r($ _ FILES);回声“pre”;die();}?上传表格!-表单中的enctype必须与以下定义一致-表单enctype=' multipart/form-data ' action=' upload _ file . PHP ' name=' upload _ form ' method=' post '!-max _ file _ size必须在所有输入之前。如果以后想用上传表单,可以写隐藏输入-输入类型='隐藏'名称=' max _ file _ size '值=' '/表单后上传的文件:输入类型=' file '名称=' user file '/HR/输入类型=' submit '名称=' sub _ button '值=' submit '按钮上传文件。

版权声明:解释PHP中上传文件的处理是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。