【问题标题】:PHP thumbnail generator not processing thumbnailsPHP缩略图生成器不处理缩略图
【发布时间】:2015-10-02 10:30:32
【问题描述】:

我正在使用一个 PHP 缩略图生成脚本,我过去曾多次使用该脚本而没有问题。我目前在我现在遇到问题的同一个域上使用它没有问题。 脚本正在处理到一个点。它正在生成物理缩略图图像并将它们保存到预设缓存目录中,但它不会将调整大小的图像返回给浏览器。 图片src格式如下:

<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 版本为 5.3.29

Imagemagick 可用且路径确认为'/usr/bin/convert/'

在这里你可以看到结果:

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

出现的只是损坏的图像占位符,而不是动态生成的缩略图。 所有相关权限都设置为0777或0755,都试过了。 这确实不是一个难以使用的脚本,我过去有很多次,但我无法调试在这种情况下导致它失败的任何原因。

任何人都知道什么会阻止图像源正确处理其中包含的 PHP? 我已经尝试了很多不同的事情,以至于我无法再专注于这个问题并想出其他任何尝试。

【问题讨论】:

  • 日志中是否有任何详细错误? ...可能是路径问题...
  • thumbnail.php 的内容是什么?
  • 好的......在 thumbnail.php 的某个地方你有echo 'strSourceFile: ' . $var_file;......删除它!

标签: php image phpthumb


【解决方案1】:

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

【讨论】:

  • 我这样做的方式是声明两个常量,如下所示:SITE_ROOT(即'/home/siteroot/')-我的源的完整路径位置,和SITE_URL(即'@ 987654321@) - 我网站的完整网址。所以,鉴于这个测试用例,当我需要在我的代码中使用图像时,我声明 $filename = SITE_ROOT . 'path/to/images/' . $image; 并返回 SITE_URL . 'path/to/images/'. $image;
【解决方案2】:

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" />';

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-30
  • 1970-01-01
  • 2018-09-04
  • 2013-11-23
  • 2013-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多