宝哥软件园

轻松实现php文件上传功能

编辑:宝哥软件园 来源:互联网 时间:2021-09-06

上传PHP文件

使用PHP,您可以将文件上传到服务器。

本章示例在测试项目下完成,目录结构如下:

测试| -上传#文件上传目录|-form.html #表单文件| | -上传_file.php # php上传代码

源代码下载:文件上传

创建文件上传表单以允许用户从表单上传文件非常有用。上传文件请参见以下HTML表单:

html hearteta charset=' utf-8 ' title rookie tutorial(runoob.com)/title/headsdyformaction=' upload _ file . PHP ' method=' post ' enctype=' multipart/Form-data ' label for=' file '文件名:/label输入类型=' file' name=' file' id=' file' br输入类型=' submit ' name=' submit ' value=' submit '/Form/body/HTMl将上述代码保存到/form/body/html文件中。关于上述HTML表单的一些注意事项如下:

1.表单标记的enctype属性指定提交表单时要使用的内容类型。当表单需要二进制数据(如文件内容)时,请使用“多部分/表单数据”。2.输入标记的type='file '属性规定输入应被视为文件。例如,在浏览器中预览时,您会看到输入框旁边有一个浏览按钮。注意:允许用户上传文件是一个巨大的安全风险。请只允许受信任的用户上传文件。

创建上传脚本“upload_file.php”。该文件包含上传文件的代码:

?phpif($ _ files[' file '][' error ']0){ echo '错误:'。$_FILES['file']['error']。br ';}else{ echo '上传文件名: '。$ _ files ['file'] ['name']。br ';回显“文件类型:”。$ _ files ['file'] ['type']。br ';Echo的文件大小为: '。($ _ files ['file'] ['size']/1024),'kbbr ';echo文件的临时存储位置是:’。$ _ files[' file '][' tmp _ name '];}?通过使用PHP的全局数组$_FILES,您可以将文件从客户端计算机上传到远程服务器。第一个参数是表单的输入名称,第二个下标可以是“name”、“type”、“size”、“tmp_name”或“error”。如下所示:$ _ FILES[' file '][' name ']-上传文件的名称$ _ FILES[' file '][' type ']-上传文件的类型$ _ FILES[' file '][' size ']-上传文件的大小,以字节为单位

这是一个非常简单的上传文件的方法。出于安全原因,您应该增加允许用户上传文件的限制。

上传限制在这个脚本中,我们增加了文件上传的限制。用户只能上传。gif,jpeg,jpg和。png文件,文件大小必须小于200 kB:

?Php//允许上传图片后缀$ allowexts=array(' gif ',' JPEG ',' jpg ',' png ');$temp=爆炸('.',$ _ FILES[' FIle '][' name ']);$ extension=end($ temp);//获取文件后缀if($ _ FILES[' file '][' type ']==' image/gif ')|($ _ FILES[' file '][' type ']=' image/JPEG ')|($ _ FILES[' file ')($ _ FILES[' file '][' type ']=' image/pj peg ')|($ _ FILES[' file '][' type ']=' image/x-png ')|($ _ FILES[' file '][' type ']=' image$ _ files ['file']。} else {echo '上传文件名: '。$ _ files ['file'] ['name']。br ';回显“文件类型:”。$ _ files ['file'] ['type']。br ';Echo的文件大小为: '。($ _ files ['file'] ['size']/1024),'kbbr ';echo文件的临时存储位置是:’。$ _ files[' file '][' tmp _ name '];}}else{ echo '非法文件格式';}?保存上传的文件上面的例子在服务器的PHP临时文件夹中创建了一个上传文件的临时副本。这个临时副本文件将在脚本结束时消失。要保存上传的文件,我们需要将其复制到另一个位置:

?Php//允许上传图片后缀$ allowexts=array(' gif ',' JPEG ',' jpg ',' png ');$temp=爆炸('.',$ _ FILES[' FIle '][' name ']);echo $ _ FILES[' FIle '][' size '];$ extension=end($ temp);//获取文件后缀if($ _ FILES[' file '][' type ']==' image/gif ')|($ _ FILES[' file '][' type ']=' image/JPEG ')|($ _ FILES[' file ')($ _ FILES[' file '][' type ']=' image/pj peg ')|($ _ FILES[' file '][' type ']=' image/x-png ')|($ _ FILES[' file '][' type ']=' image$ _ files ['file']。} else {echo '上传文件名: '。$ _ files ['file'] ['name']。br ';回显“文件类型:”。$ _ files ['file'] ['type']。br ';Echo的文件大小为: '。($ _ files ['file'] ['size']/1024),'kbbr ';echo文件的临时存储位置是:’。$ _ files ['file'] ['tmp _ name']。br ';//确定当前目录下的上传目录是否存在于该文件中。//如果没有上传目录,需要创建,上传目录权限为777IF (file _ exists ('upload/')。$ _ files[' file '][' name ']){ echo $ _ files[' file '][。} else {//如果文件中不存在上传目录,则将文件上传到move _ uploaded _ file($ _ files[' file '][' tmp _ name '],' upload/')。上传目录下的$ _ files[' file '][' name ']);“Echo”文件存储在:处上传/'。$ _ files ['file'] ['name']。} }}else{ echo '非法文件格式';}?上述脚本检测文件是否已经存在,如果不存在,则将文件复制到名为“上传”的目录。文件上传演示操作如下:

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

更多资讯
游戏推荐
更多+