【问题标题】:check filesize image upload in php在 php 中检查文件大小的图像上传
【发布时间】:2015-01-24 15:18:16
【问题描述】:

上传图片最大 3M 或 4M 返回成功上传时的问题,但他不是真的在文件夹中上传我想正确显示消息错误。 我认为检查文件大小有问题

        $dir_name=dirname(__FILE__)."/../admin/upload/";
        $path=@$_FILES['file_upload']['tmp_name'];
        $name=@$_FILES['file_upload']['name'];
        $fsize=$_FILES['file_upload']['size'];
        $multiext= array("gif","jpeg","jpg","png");
        $erros=array();

                $extention = strtolower(end(explode(".", $name)));
                $extcheck = in_array($extention,$multiext);
                $newname=rand(1,9999999999).'.'.$extention;

                if( !$extcheck )
                {
                    $erros[] = "<div class='msgerrorup'>Invalid file</div>";
                }

                    if( ($fsize > 100000) )
                    {
                        $erros[] =  "<div class='msgerrorup'>Image size must be 100k</div>";

                    }

                    if(!$newname )
                    {

                        $erros[]  = "<div class='seccessup'>Invalid parametrs</div>";

                    }

    if ( empty($erros) )
    {
       move_uploaded_file($path,$dir_name.$newname);  
        echo "<div class='seccessup'>Success upload</div>";
    }
    else
    {
        foreach ($erros as $erro)
        {
          echo $erro."<br />";
        }
    }

【问题讨论】:

  • post_max_size = 8m 我如何从页面 php 中的代码更改和控制它

标签: php upload filesize


【解决方案1】:

试试这个

    $path=@$_FILES['file_upload']['tmp_name'];
    $name=@$_FILES['file_upload']['name'];
    $fsize=$_FILES['file_upload']['size'];
    $ftype=$_FILES['file_upload']['type'];
    $multiext= array("image/gif","image/jpeg","image/jpg","image/png");
    $erros=array();
      if( !in_array($ftype, $multiext) )
         {
            $erros[] = "<div class='msgerrorup'>Invalid file</div>";
         }

还有

  if ( count($erros) == 0 )
    {
       move_uploaded_file($path,$dir_name.$newname);  
        echo "<div class='seccessup'>Success upload</div>";
    }

【讨论】:

  • 我已经编辑了我的答案。您必须在 $multiext 中定义 MIME 类型。
  • 立即尝试。希望它会有所帮助
猜你喜欢
  • 2017-01-30
  • 1970-01-01
  • 2012-03-08
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 2015-04-29
  • 2011-08-20
相关资源
最近更新 更多