服务器端文件验证

科尔尼

我正在尝试通过表单将文件上传到服务器:

<form action="send_valid.php" method="POST" enctype= "multipart/form-data">
        <br>
        <input type="file" name="pdf" id="pdf" accept="application/pdf"/>
        <input type="hidden" name="MAX_FILE_SIZE" value="10000000"/>
        <input type="submit" value="Wyślij">
    </form>  

我想允许用户只发送PDF文件一的最大大小为10MB

我用于上传的 php 配置是:

file_uploads = On  
upload_tmp_dir = "E:\Xampp\tmp"  
upload_max_filesize = 11M  
max_file_uploads = 20  
post_max_size = 12M

要检查我使用的文件大小:

if($_SERVER["REQUEST_METHOD"] == "POST"){
  var_dump($_FILES);
  if(extract($_FILES)){
    if($pdf['size']>10000000){
      echo "File size is too large!";
    }
  }

现在,当文件太大时,我想通过echo向用户显示一个错误(暂时)如果它低于 10Mb,它工作正常(当我将大小更改为 1Mb 并且文件更大时,即使上面的代码也能工作,然后它会显示echo),但对于 10Mb 及以上的文件,它会产生该错误:

Warning: POST Content-Length of 11450416 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
array(0) { } 

我不知道为什么它显示它超过8Mb,因为在配置中我在任何地方都找不到 8Mb。

问题出在哪里?有没有办法捕捉超过配置设置的上传,而不向用户显示 php 服务器错误?

如果我想让文件验证执行上述方法并检查文件扩展名,例如:

$ext = pathinfo($_POST['pdf'], PATHINFO_EXTENSION);

够了吗?任何有关文件验证的见解都会非常有帮助。

Oluwafemi Sule

更新php 配置文件post_max_size的值upload_max_filesize

请注意,这些值以字节为单位。

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

审核服务器端验证

来自分类Dev

AngularJs服务器端验证

来自分类Dev

在客户端委派服务器端验证

来自分类Dev

为什么在调用服务器端验证之前,HttpPostedFileBase在大型文件上出错?

来自分类Dev

在服务器端从Android验证用户

来自分类Dev

MVC 4服务器端验证未显示

来自分类Dev

DropZone.js服务器端验证

来自分类Dev

Coldfusion服务器端无线电验证

来自分类Dev

如何验证Google身份服务器端

来自分类Dev

iOS服务器端验证-收据类型

来自分类Dev

Google+服务器端令牌验证

来自分类Dev

Angular 2(Beta)服务器端验证消息

来自分类Dev

服务器端验证不起作用

来自分类Dev

Primefaces inputMask服务器端验证

来自分类Dev

locomotivejs在服务器端进行模型验证

来自分类Dev

如何验证android计费收据服务器端

来自分类Dev

验证在Blazor服务器端不起作用

来自分类Dev

服务器端Blazor验证未更新UI

来自分类Dev

使用Apple登录:在服务器端验证令牌

来自分类Dev

Kubernetes Yaml的服务器端验证

来自分类Dev

服务器端对“活跃”游戏的验证

来自分类Dev

DropZone.js服务器端验证

来自分类Dev

Coldfusion服务器端无线电验证

来自分类Dev

Tapestry服务器端的日期验证

来自分类Dev

如何验证android计费收据服务器端

来自分类Dev

如何验证Google身份服务器端

来自分类Dev

从服务器端验证Spring Security

来自分类Dev

服务器端表单验证怪异错误

来自分类Dev

JSP和Servlet服务器端验证