require_once '../ThumbLib.inc.php';
$thumb = PhpThumbFactory::create('test.jpg');
$thumb->resize(100, 100)->save('/img/new_thumb.jpg');
$thumb->show();
我为img文件夹设置了777权限,但是我收到了这个错误:
Fatal error: Uncaught exception 'RuntimeException' with message 'File not writeable: /img/new_thumb.jpg' in /home/xjohn/www.mysite.com/phpthumb/GdThumb.inc.php:662 Stack trace: #0 /home/xjohn/www.mysite.com/phpthumb/examples/resize_basic.php(31): GdThumb->save('/img/new_th...') #1 {main} thrown in /home/xjohn/www.mysite.com/phpthumb/GdThumb.inc.php on line 662
为什么?
答案 0 :(得分:2)
错误说明了一切:
Fatal error: Uncaught exception 'RuntimeException' with message 'File not writeable:
当您的PHP脚本没有足够的权限来创建文件时,通常会出现错误。
此处,您在保存图片时使用绝对URL:
$thumb->resize(100, 100)->save('/img/new_thumb.jpg');
如果要使用绝对URL,则必须包含完整路径,如下所示:
$new_image = '/home/xjohn/www.mysite.com/phpthumb/img/new_thumb.jpg/';
$thumb->resize(100, 100)->save($new_image);
或者,如果图像与脚本位于同一目录中,则只能使用相对路径:
$thumb->resize(100, 100)->save(__DIR__.'/my_new_image.jpg');
根据下面的@OrangePill:
最好在脚本中使用$_SERVER["DOCUMENT_ROOT"]
以提高可维护性。
$_SERVER["DOCUMENT_ROOT"]."/phpthumb/img/new_thumb.jpg"
希望这有帮助!