wphp中上传文件并保存的时候,在html表单中需要设置enctype="multipart/form-data",并且只能post方式 PHP接收文件可以通过$_FILES来获取。文件上传到服务器之后就会生成一个临时文件.tmp.tmp文件一会就被自动删除。服务器返回的内容中,有文件的名字以及上传文件保存的位置。如果让文件长期存储,我们将其移动到其他的位置即可。
html代码如下:

<form action='xx.php' method='post' enctype='multipart/form-data'>
    <input type='file' name='icon'>
    <input type='submit'>
</form>

服务器端代码:

<?php
// 可以打印 $_FILES的所有信息
print_r($_FILES);
move_uploaded_file($_FILES['photo']['tmp_name'], './images/test.jpg');
?>

注意:

  • $_FILES用法跟$_GET,$_POST类似,都是关系型数组。
  • #_FILE['key']:可以获取对应上传的文件,这里的key跟提交时的name相对应。
  • #_FILE['key']['name'] 可以获取上传的文件名。
  • #_FILE['key']['tmp_name']可以获取上传的文件保存的临时目录。

附录:move_uploaded_file(移动文件)
move_uploaded_file参数:
参数1:移动的文件
参数2:目标路径

php默认有上传文件大小的限制
我们只需要更改php.ini就可以修改基本配置

  • 设置文件最大上传限制(值的大小可以根据需求修改)

    file_uploads = On   ; 是否允许上传文件 On/Off 默认是On
    upload_max_filesize = 32M       ; 上传文件的最大限制
    post_max_size = 32M             ; 通过Post提交的最多数据
  • 考虑网络传输快慢,这里修改一些参数

    max_execution_time = 30000      ; 脚本最长的执行时间 单位为秒
    max_input_time = 600            ; 接收提交的数据的时间限制 单位为秒
    memory_limit = 1024M            ; 最大的内存消耗
Last modification:July 17, 2018
If you think my article is useful to you, please feel free to appreciate