调用未定义的方法Image :: resize()

时间:2017-11-13 15:45:45

标签: php image file-upload

我在管理面板中更改徽标图片时出现问题,它之前正在运行,但在更新后输出错误。现在我不确定会发生什么,这是错误:

 Call to undefined method Image::resize() …/system/controllers/settings.php 

以下是该地区的代码:

case 'logo-post':
    if($_app_stage == 'Demo'){
        r2(U.'appearance/customize/','e',$_L['disabled_in_demo']);
    }
    $validextentions = array("jpeg", "jpg", "png");
    $temporary = explode(".", $_FILES["file"]["name"]);
    $file_extension = end($temporary);
    $file_name = '';
    if(($_FILES["file"]["type"] == "image/png")){
        $file_name = 'logo-tmp.png';
    }
    elseif(($_FILES["file"]["type"] == "image/jpg")){
        $file_name = 'logo-tmp.jpg';
    }
    elseif(($_FILES["file"]["type"] == "image/jpeg")){
        $file_name = 'logo-tmp.jpeg';
    }
    elseif(($_FILES["file"]["type"] == "image/gif")){
        $file_name = 'logo-tmp.gif';
    }
    else{

    }
    if ((($_FILES["file"]["type"] == "image/png")
            || ($_FILES["file"]["type"] == "image/jpg")
            || ($_FILES["file"]["type"] == "image/jpeg"))
        && ($_FILES["file"]["size"] < 1000000)//approx. 100kb files can be uploaded
        && in_array($file_extension, $validextentions)){
        move_uploaded_file($_FILES["file"]["tmp_name"], 'storage/system/'. $file_name);
        $image = new Image();
        $image->source_path = 'storage/system/'. $file_name;
        $image->target_path = 'storage/system/logo.png';
       // $image->resize('0','40',ZEBRA_IMAGE_BOXED,'-1');
        $image->resize(0,0,ZEBRA_IMAGE_BOXED,'-1');

        // now delete the tmp image

        unlink('storage/system/'. $file_name);

       // r2(U.'settings/app','s',$_L['Settings Saved Successfully']);

        r2(U.'appearance/customize/','s',$_L['Settings Saved Successfully']);
    }

    else{

        r2(U.'appearance/customize/','e',$_L['Invalid Logo File']);

    }


    break;

发生错误的行:

$图像 - &GT;调整大小(0,0,ZEBRA_IMAGE_BOXED, ' - 1');

感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:1)

感谢您在这里的所有帮助,现在我知道图像类已经更改为Img作为Img.php,因为更新和文件image.php包含其他gb与imagelib.php。现在我将上面的代码更改为:

$ Img = new Img(); $ Img-&gt; source_path ='storage / system /'。 $ FILE_NAME; $ Img-&gt; target_path ='storage / system / logo.png'; // $ image-&gt; resize('0','40',ZEBRA_IMAGE_BOXED,' - 1'); $ Img-&GT;调整大小(0,0,ZEBRA_IMAGE_BOXED, ' - 1');

所有问题都解决了

答案 1 :(得分:0)

我认为这里的主要内容是更新后,函数Image :: resize()已经远离你的文件... / system / controllers / settings.php

更新代码之前有没有备份?请在更新之前和之后比较您的文件,在这种情况下您将得到答案。