使用timThumb的PHP绝对路径不起作用

时间:2010-06-24 16:51:09

标签: php wordpress

我正在编写一个wordpress插件,并使用此脚本调整图片大小:Timthumb

这个脚本使用绝对路径,但我无法让它为我工作;我已经对我的所有路径进行了三次检查,但仍然没有。

这是我的代码:

$plugin_dir_name = "my-plugin";

$pathTimThumb = WP_PLUGIN_URL . '/' . $plugin_dir_name . '/timthumb.php';
$pathToUpload = WP_CONTENT_URL.'/uploads/'.$plugin_dir_name;
$hImg = 150;
$wImg = 150;

....

$myImage = '<img class="thumb" src="'.$pathImageThumb.'?src='.$pathToUpload.'/'.$allImages[$i].'&h='.$hImg.'&w='.$wImg.'&zc=1" alt="">';

在萤火虫中我得到了这个网址:

<img alt="" src="http://localhost/mu/wp-content/plugins/my-plugin/timthumb.php?src=http://localhost/mu/wp-content/uploads/my-plugin/car___1/26zhoar5.jpg&amp;h=150&amp;w=150&amp;zc=1" class="thumb">

错误在哪里?

3 个答案:

答案 0 :(得分:1)

使用这个。

 $my_plugin_url = plugins_url('my-plugin-name/');
    $my_timthumb_url = $my_plugin_url.'timthumb.php?';
    $my_image_url = 'http://localhost/images/image.jpg';
echo '<img alt="" src="'.$my_timthumb_url.'src='.$my_image_url.'&amp;h=150&amp;w=150&amp;zc=1"/>';

要考虑使timthumb工作的事情:

  • chmod你的timthumbs缓存文件夹
  • 不使用外部图片
  • 检查你的timthumb版本

干杯,戴夫

答案 1 :(得分:0)

WP_CONTENT_URL是一个网址,不是绝对路径。请改用WP_CONTENT_DIR

答案 2 :(得分:0)

TimThumb尝试通过从http://CURRENT_HOST.tld参数的开头删除src来确定图像的本地路径。

由于你在localhost上运行,它可能会有点混乱并错误地将其计算为外部图像。我怀疑是这种情况(我检查了来源,它应该没问题),但这是一个有根据的猜测。

您是否尝试过阅读http://localhost/mu/wp-content/plugins/my-plugin/timthumb.php?src=http://localhost/mu/wp-content/uploads/my-plugin/car___1/26zhoar5.jpg&amp;h=150&amp;w=150&amp;zc=1的HTTP响应标题?

如果没有,请使用HttpFox for FireFox并回复结果。