PHP关于文件$_FILES一些问题、校验和限制

科学研究

通过 PHP,可以把文件上传到服务器。通过$_FILES可以获取文件上传的相关信息;从而对文件进行操作。经过我的科学研究,发明了许多奇奇怪怪的问题;经过我的认真思考,终于;还是没能解决。最后一边百度一边思考。

上传单个文件

  1. 不管三七二十一,涉及到上传文件都需要使用enctype="multipart/form-data"进行编码
  2. 我们可以使用accept设置文件上传的类型,然并卵,设置了用户还是能更改,所以需要php验证(接收两种值MINE TYPE和文件扩展名)
  3. 我们验证表单的时候可以使用isset吞掉Undefined index的警告
  4. 使用$_FILES[‘name’]获取上传文件的信息
  5. 如果是提交到本页面,使用$_SERVER['PHP_SELF']提高代码的鲁棒性
<?php
    if($_SERVER['REQUEST_METHOD']==='POST'){
        echo '1111';
        var_dump($_FILES['file']);
    }
?>
...
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label for="source">文件</label>
        <input type
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
$_FILES是一个PHP超全局变量,用于在上传文件时获取上传的文件信息。$_FILES数组的用法是通过HTML表单中的<input type="file">将文件上传web服务器,然后通过PHP脚本使用$_FILES数组来处理上传的文件。 关于多文件上传,可以通过在HTML表单中添加多个<input type="file">元素来实现。在PHP脚本中,$_FILES数组会自动处理多个上传文件。在处理多个上传文件时,$_FILES数组中的每个文件都有自己的键名。例如,如果有两个上传文件,其键名分别为file1和file2,则可以使用以下代码访问它们: ``` $file1 = $_FILES["file1"]; $file2 = $_FILES["file2"]; ``` 值得注意的是,$_FILES数组中的每个上传文件都有自己的属性。常见的属性包括:name、type、size、tmp_name和error。其中,name属性表示文件的原始名称,type属性表示文件的MIME类型,size属性表示文件的大小(以字节为单位),tmp_name属性表示文件web服务器上的临时存储位置,error属性表示上传过程中是否出错。 在PHP脚本中,可以使用move_uploaded_file()函数将上传的文件从临时位置移动到指定的位置。例如,以下代码将上传的文件从临时位置移动到web服务器上的/uploads目录中: ``` $target_dir = "/uploads/"; $target_file = $target_dir . basename($_FILES["file"]["name"]); if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) { echo "文件上传成功"; } else { echo "文件上传失败"; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值