代码之家  ›  专栏  ›  技术社区  ›  mck89

gd函数上奇怪的php行为

  •  0
  • mck89  · 技术社区  · 14 年前

    我遇到了一个非常奇怪的PHP行为,我不明白它为什么会这样。 我使用imagesetbrush函数的方式是:

    class foo
    {
       function setbrush($image)
       {
           //$this->_resource contains the main image resource
           imagesetbrush($this->_resource, $image);
       }
    }
    ...
    $res=imagecreatefrompng("image.png");
    $class->setbrush($res);
    

    以这种方式工作,但如果我像这样更改代码:

    class foo
    {
       function setbrush($image)
       {
           $res=imagecreatefrompng($image);
           imagesetbrush($this->_resource, $res);
       }
    }
    ...
    $class->setbrush("image.png");
    

    它不起作用了。你看到错误了吗?它不显示任何消息,只是不执行函数。

    2 回复  |  直到 14 年前
        1
  •  1
  •   zaf    14 年前

    函数调用后,变量$res的引用是否会消失? 您是否尝试将其声明为类变量,就像$\u资源变量一样?

        2
  •  0
  •   Javier Parra    14 年前

    可能在foo类的某个地方,工作目录发生了变化,因此它在打开时找不到image.png。 //$this->_resource contains the main image resource