想象力无法读取文件

时间:2012-11-05 23:06:55

标签: php jquery imagemagick

我在文件中有以下php代码:

$figloc = $_GET['figrl'];

try
{
$image = new Imagick($figloc);
$image->setImageFormat("jpg");
$image->setImageColorSpace(5);  
$image->writeImage("temp.jpg");
}
catch(Exception $e)
{
 echo $e->getMessage();
}

和这样的jquery脚本:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function() {
    figurelocation='temp.jpg';
    var fightmlstring='<img src=\"'+figurelocation+'\">';
    $('.figuredisplay').append(fightmlstring);
});

figuredisplay是一个div元素。 $ figloc value是磁盘上图像的绝对地址,如'/home/abc/def/ghi/jkl.tiff'。从适当的链接打开时,php文件显示错误消息“imagick无法打开文件/home/abc/def/ghi/jkl.tiff”。绝对地址会导致问题吗?

另外,当我将一个特定的tiff文件复制到我的目录时,为了查看绝对地址是否有问题,想象力有可能读取该文件,但未能创建temp.jpg

unable to open image `/var/www/temp.jpg @ error/blob.c/OpenBlob/2489 

有谁能指出我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。这真是个傻瓜。我正在写作,所以面临同样问题的其他人可能会受益。

而不是

$image = new Imagick($figloc);

写:

$abc= substr ( $figloc , 1, strlen($figloc)-2);
$image = new Imagick($figloc);

因此,删除了figloc字符串中的单引号。真的很傻:-)