2015-10-01 63 views
0

我正在使用一个PHP缩略图生成脚本,过去我已经使用过很多次。我目前在没有问题的情况下使用它,因为我现在遇到了问题。 该脚本正在处理到一个点。它会生成物理缩略图并将其保存到预设的缓存目录中,但不会将调整大小的图像返回给浏览器。 图像src为按以下格式:PHP缩略图生成器未处理缩略图

<img src="thumbnail.php?file=sample/02.jpg&w=100&h=70&el=0&gd=0" /> 

我证实,图像存在,并且可以显示在浏览器本身。 此外,PHP脚本加载好,因为我已通过添加'回声'来确认它。 我已经在服务器上的多个位置安装了这个脚本,结果是一样的。我甚至尝试过其他版本的PHP缩略图生成器,并且它们都没有在浏览器中生成调整大小的图像。

我已经检查了GD是我的服务器上的活动:

GD Support   enabled 
GD Version   bundled (2.1.0 compatible) 
FreeType Support enabled 
FreeType Linkage with freetype 
FreeType Version 2.4.2 
GIF Read Support enabled 
GIF Create Support enabled 
JPEG Support  enabled 
libJPEG Version  6b 
PNG Support   enabled 
libPNG Version  1.2.44 
WBMP Support  enabled 
XBM Support   enabled 

PHP的版本是29年3月5日

ImageMagick的可用和路径确认为'/usr/bin/convert/'

在这里,你看到的结果是:

http://demos.mitey.co.nz/image_processor/index.php

全部出现破损图像占位符代替动态生成缩略图。 所有相关的权限都被设置为0777或0755,都尝试过。 这真的不是一个难以使用的脚本,我有很多次,但我无法调试任何导致它在这种情况下失败。

任何人有什么想法可以阻止图像源正确处理其中包含的PHP? 我已经尝试了很多不同的东西,我不能再专注于这个问题,并想出其他的东西来尝试。

+0

日志中是否有详细错误? ...可能是一个路径问题... – StefanNch

+0

thumbnail.php的内容是什么? –

+0

好的......在thumbnail.php的某处你有'echo'strSourceFile:'。 $ var_file;'...删除它! – StefanNch

回答

0

website 下载最新PHPthumb对于产生拇指看到documentation

不要忘记更改可变根据自己的需要。

$thumbUrl = "somefolder/new.jpg"; 
$resizeWidth = "70"; // in pixels 
$resizeHeight = "70"; // in pixels 

$imageThumb = $directoryPath. "/phpThumb/phpThumb.php?src=" . $thumb1 . "&amp;w=".$resizeWidth."&amp;h=".$resizeHeight."&amp;iar=1&amp;hash=90e9d46c4d138a72574c52e31fbef0dc"; 

echo '<img src="'.$imageThumb.'" alt="filename.jpg" />'; 
+0

已上传最新版本并在[链接]上运行检查,结果(http://demos.mitey.co.nz/phpThumb/demo/phpThumb.demo.check.php) – Mitey

+0

尽管如此,仍然无法正常工作,请参阅此处[link] (http://demos.mitey.co。nz/phpThumb/demo/phpThumb.demo.demo.php) – Mitey

+0

@Mitey您需要联系托管服务提供商以安装[请参阅phpthumb的ImageMagick](http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.check .php)查看你的[配置链接](http://demos.mitey.co.nz/phpThumb/demo/phpThumb.demo.check.php) – Noman

1

解决方法:我试图从另一个子域加载图像到脚本中。我使用的缩略图脚本声明允许使用http从另一个域加载图像,但是它涉及到PHP函数'file_exists',它不能通过http协议工作。我使用'str_replace'删除了图像路径的'http://'部分,并将其替换为文件系统路径,即/ home/siteroot /',并且全部按预期工作。当与缩略图生成脚本在同一个域中的图像一起使用时,脚本很乐意保留完整的“http://”路径。没有有用的错误消息指出这一点。

+0

我这样做的方式是声明两个常量,如下所示:'SITE_ROOT' (即'/ home/siteroot /') - 我的来源的完整路径位置和'SITE_URL'(即'http://demos.mitey.co.nz/') - 我的网站的完整网址。所以,考虑到这个测试案例,当我需要在我的代码中使用图像时,我声明'$ filename = SITE_ROOT。 '路径/到/图像/'。 $ image;'我返回'SITE_URL。 '路径/到/图像/'。 $图像;' – StefanNch