0

更新和解决方案:每个人,对于将来遇到这个问题的人,我想出了如何解决它。如果你使用 PHPThumb 类,你必须从配置文件中导入设置,否则它不会这样做。我通过打开 Clint 提供的测试文件发现了这一点。为此,请在定义对象后插入此代码:

if (include_once($PATH . 'phpThumb.config.php')) {
    foreach ($PHPTHUMB_CONFIG as $key => $value) {
        $keyname = 'config_'.$key;
        $phpThumb->setParameter($keyname, $value);
    }
}

感谢那些试图提供帮助的人,感谢克林特至少给了我一个可以看的地方。


原始问题

在由于我新发现的失明而无法阅读此消息之前,我需要一些帮助。在你走得更远之前,我必须警告你,我必须链接到其他网站才能向你展示问题。所以准备好打开几个标签。

所以我使用 PHPthumb 为我的画廊网站生成图像。在我上传脚本之前,它实际上进行得非常好,这样我的业务合作伙伴就可以开始向他们(客户)展示脚本的 alpha 阶段(我知道它说的是 beta)。

http://speakwire.net/excitebeta2/?m=2

这个问题在我碰巧链接到的两个画廊页面上变得非常明显。根本没有创建图像。如果您进入管理面板,它们似乎可以工作,但这只是从我的桌面生成的缓存。我在每一步都一丝不苟地停下来,甚至试图操纵类代码。我寻找其他脚本,但他们没有帮助我,因为他们没有我需要的东西。因为代码是专有的,我不能分享它。我敢打赌你在想“哦,我的闹剧上帝”,但这里有一些你可以看的东西——因为我能够用我之前得到的代码复制同样的问题。

http://speakwire.net/phpthumbtest/

第二个网站的结构和代码与: http ://mrphp.com.au/code/image-cache-using-phpthumb-and-modrewrite 完全相同

少数例外是允许 100x100 参数,但这些应该被更改,我知道这不会导致错误,因为它的存在是可选的,并且删除它只会让人们做顽皮的事情。第二个是我在错误持续存在之后才做的事情,那是chmod(dirname($path), 0777);因为出于某种奇怪的原因,mkdir 不会授予文件夹777权限。

旧图:http ://speakwire.net/phpthumbtest/images/flowerupright.JPG

新图片:http ://speakwire.net/phpthumbtest/thumbs/100x100/images/flowerupright.JPG

如新图像中所示,它无法写入文件。这恰好是 PHPThumb 的错。无论是缺少参数,还是主机不允许。

这让我明白了这一点,该脚本在我的桌面 WAMP 上运行良好,但在 GoDaddy 托管时却失败了。我的商业伙伴将在我们计划很快让人们使用的主机上开设一个帐户,但问题仍然存在,如果它发生在这里,它肯定也会发生在那里。不过,它稍后不会出现在 GoDaddy 的服务器上。

失败的具体地方我会在这里插入,但其余的你需要打开 mrphp.com.au 网站才能看到。在这里发帖太久了。

require('../phpthumb/phpthumb.class.php');
$phpThumb = new phpThumb();
$phpThumb->setSourceFilename($image);
$phpThumb->setParameter('w',$width);
$phpThumb->setParameter('h',$height);
$phpThumb->setParameter('f',substr($thumb,-3,3)); // set the output format
//$phpThumb->setParameter('far','C'); // scale outside
//$phpThumb->setParameter('bg','FFFFFF'); // scale outside
if (!$phpThumb->GenerateThumbnail()) {  // RETURNS FALSE FOR SOME REASON
    error('cannot generate thumbnail');  // And is called due to fail.
}

无论谁帮助我,我都会爱你很久,因为在过去的几天里,我基本上把所有的空闲时间都花在了,包括睡觉的时间,试图弄清楚这一点。

编辑: http ://speakwire.net/phpthumbtest/index2.php

我将此添加为克林茨的建议,似乎 imagemagick 不起作用,这真的是问题吗?我将如何解决它?

4

1 回答 1

0

听起来像是权限问题。确保您要写入的任何文件夹,apache 都具有写入权限。

于 2011-07-09T15:59:36.913 回答