Javascript 在上传之前显示文件的大小。。。?

Javascript 在上传之前显示文件的大小。。。?,javascript,php,Javascript,Php,我需要php来处理javascript…:| 我希望用户只上传最大5MB的文件,但是PHP只有在上传完成后才会检测到它。。。 例如: 有人能帮我吗?谢谢 上述评论显然是正确的。JS是客户端脚本,PHP是服务器端脚本。由于明显的原因,两者没有直接互动 最好的解决方案是阻止表单提交。这将实现我所理解的您所寻找的目标。除了PHP预防之外,还有一种防止他人提交的方法。正确的编程约定要求用户提交的任何数据(文本、上传等)都应在客户端和服务器端进行验证。永远不要信任客户机数据,也不要假设它已正确验证 $("

我需要
php
来处理javascript…:|

我希望用户只上传最大5MB的文件,但是
PHP
只有在上传完成后才会检测到它。。。 例如:


有人能帮我吗?谢谢

上述评论显然是正确的。JS是客户端脚本,PHP是服务器端脚本。由于明显的原因,两者没有直接互动

最好的解决方案是阻止表单提交。这将实现我所理解的您所寻找的目标。除了PHP预防之外,还有一种防止他人提交的方法。正确的编程约定要求用户提交的任何数据(文本、上传等)都应在客户端和服务器端进行验证。永远不要信任客户机数据,也不要假设它已正确验证

$("theformyouareusing").submit(function(e) {
    if($('input[type=file]').files[0].size > 5242880){
         e.preventDefault();
        }
    });
您可能还需要检查不支持
.files.size
的旧浏览器,并决定如何处理这些情况

为了增加安全性,您应该在php.ini中添加以下行:

post_max_size = 5M
upload_max_filesize = 5M

不能将PHP与Javascript合并。它们在不同的时间在不同的地方执行。使用js禁用表单提交,在文件之后选择大小是否过大?尽管不能将两者合并,但可以让JavaScript向php服务器发出AJAX调用,该调用会显示文件大小,并等待响应,然后再请求上载文件。这确实增加了服务器负载,因为这意味着每次上载2个请求,而不是仅1个。@Dave Correct;但是,正如我上面所说的,永远不要信任客户端验证,并且始终执行服务器端验证。
post\u max\u size
设置指定了一篇文章的最大大小,包括任何上传的文件和可能随它们一起出现的任何其他字段。将
upload\u max\u filesize
设置为相同的值可能会导致刚好在最大上载限制内的文件被拒绝,因为附带的数据超过了最大上载限制。
<?php
if("<script>(this.files[0].size)</script>" > 5242880){
echo "error";
}
?>
$("theformyouareusing").submit(function(e) {
    if($('input[type=file]').files[0].size > 5242880){
         e.preventDefault();
        }
    });
post_max_size = 5M
upload_max_filesize = 5M