【问题标题】:Fixed size image upload using codeigniter, howto?使用codeigniter固定大小的图像上传,如何?
【发布时间】:2013-04-14 11:49:13
【问题描述】:

我在codeigniter中使用文件上传类,可以成功上传图片。我的问题是如何确保用户上传的图片只有固定尺寸,600 像素 x 360 像素,仅此而已?我尝试使用上传数据数组来获取图像的高度和宽度,并检查这些值是 TRUE 还是 FALSE。如果为假,我将错误字符串传递给视图,如果为真,我在视图中不显示任何内容,但我不确定它是否正常工作。任何人都可以帮助如何去做这件事?提前谢谢!

【问题讨论】:

    标签: file codeigniter class uploading


    【解决方案1】:

    您可以将图像处理库与文件上传库结合使用。

    使用文件上传库,您可以:

    • 确保上传的文件大小符合您的要求:

    如果需要,您可以使用图像处理库来调整上传图像的大小,因此完整的解决方案如下所示:

    $fileInfo = $this->upload->data();
    
    if( $fileInfo['width'] == 600 && $fileInfo['height'] == 300 ) {
        // do something
    } else {
        // initiialize library
        $this->image_lib->resize();
    }
    

    您可以在此处阅读有关这些库的更多信息:

    http://ellislab.com/codeigniter/user-guide/libraries/image_lib.html

    http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

    【讨论】:

      【解决方案2】:

      您可以使用 GDI 库工具找出图像的高度和宽度,以及其他信息。

      例如:

      $imgInfo = getimagesize("/path/to/image.png");
      if ($imgInfo[0] != 600) && $imgInfo[1] != 360){
         throw new Exception("Illegal image size");
      }
      

      http://www.php.net/manual/en/function.getimagesize.php

      【讨论】:

        猜你喜欢
        • 2013-11-03
        • 2017-09-20
        • 1970-01-01
        • 2015-10-12
        • 2015-06-19
        • 1970-01-01
        • 2011-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多