Imagejpeg返回false但文件存在

问题描述:

昨天我得到了一个输出imagejpg()(虽然不可读的字符,因为我没有设置标题),但今天没有。我改变的唯一的事情是在服务器上启用特殊权限。任何想法还有什么可能影响它?以下代码的输出是:Imagejpeg返回false但文件存在

The file exists 
Imagejpeg: FALSE 
Imagejpeg: FALSE 
The file is writable 

的输出是相同的,如果$filename = $URL

代码:

clearstatcache(); 
$filename = $_SERVER['DOCUMENT_ROOT'] . "/wordpress/wp-content/themes/mytheme/images/thumbnails/sb1778/1.jpg"; 
$URL = get_template_directory_uri() . "/images/thumbnails/sb1778/1.jpg"; 



if (file_exists($filename)) { 
    echo "<BR> The file exists"; 
} else { 
    echo "<BR> The file does NOT exist"; 
} 

if((imagejpeg($filename)) === true) 
{echo "<BR> Imagejpeg: TRUE";} 
else {echo "<BR> Imagejpeg: FALSE";} 
imagejpeg($filename); 

if((imagejpeg($URL)) === true) 
{echo "<BR> Imagejpeg: TRUE";} 
else {echo "<BR> Imagejpeg: FALSE";} 
imagejpeg($URL); 




if (is_writable($filename)) { 
    echo '<BR> The file is writable'; 
} else { echo '<BR> The file is NOT writable'; 
} 
+0

你应该使用手动启动,为'imagejpeg第一个参数()'是不是串。 – jeroen

+0

您说的手册?有趣。谢谢!! – Atrag

的图像需要经过Imagescreatefromjpeg功能第一:

$filename = imagecreatefromjpeg($_SERVER['DOCUMENT_ROOT'] . "/wordpress/wp-content/themes/mytheme/images/thumbnails/sb1778/1.jpg");