我设法在浏览器上显示图像,但无法使用imagejpeg保存它(我没有看到保存在服务器中的任何图像)。我一直在尝试几个小时,并通过使用is_writable测试了该文件夹,如本文中提到的其他人PHP imagejpeg save file doesn't work所述。 但它仍然无法正常工作,并且在Chrome浏览器上,除了损坏的图标图标,我没有看到任何错误,但在IE上显示如下错误: “警告:imagejpeg()[function.imagejpeg]:无法打开“该文件不可写imagejpeg保存文件不起作用
这是我的代码。
header('Content-type: image/jpeg');
$filename = 'little.jpg';
$im = imagecreatefromjpeg($filename);
imagefilter($im, IMG_FILTER_CONTRAST,$_POST["amount"]);
imagejpeg($im,"test.jpg");
imagedestroy($im);
if (is_writable('test.jpg')) {
echo 'The file is writable';
} else {
echo 'The file is not writable';
}
任何人都可以帮忙吗?谢谢。 P.S:我也想在浏览器上显示图像并同时保存图像。 imagejpeg能够做到吗?如果没有,是否有更好的方法来做到这一点?谢谢。
编辑:当我检查我的文件夹是否可写时,它回显'文件是可写的',但是当我检查test.jpg是否可写时,它回显'文件不可写'。
如何更改权限?但是当我测试它应该写入的文件夹时,它会回显为'它是可写的'。我测试如下:if(is_writable('./')){echo'The file is writable'; } else { echo'文件不可写'; } – 2012-07-19 15:37:12
is_writable()应该指向一个目录,而不是一个文件名字符串......因此无论如何都会混淆在一起。权限在FTP软件中设置,但它们的工作方式不同。您想要查找“权限”或“CHMOD”的内容,并将其设置为755以存储图像的目录。另外,我通常使用完整的服务器路径来存储文件......在大多数情况下,这不是“必需的”,但如果某些事情没有进行到我认为的地步,那么确实会给我更好的调试数据。我使用类似于:$ filename = $ _SERVER ['DOCUMENT_ROOT']。'/ images/test.jpg'; – techtheatre 2012-07-19 15:44:59
thx很多为您的答案。这实际上是服务器问题,我设法解决它,因为你的答案。 – 2012-07-19 17:47:11