我正在尝试创建图片的缩略图。我从php.net网站获得了php代码,但它返回了这个错误:
警告:imagejpeg(/Users/michelebrizzi/Sites/htdocs/blogmichele/immagini/ragazza_thumb.jpg):无法打开流:/Users/michelebrizzi/Sites/htdocs/blogmichele/prova/imagescale.php中的权限被拒绝第19行
我犯了什么错误?
这是我用过的php代码:
<?php
// File and new size
$filename = $_SERVER['DOCUMENT_ROOT'].'/cartella_sito/immagini/image.jpg';
$percent = 0.5;
// Content type
// header('Content-Type: image/jpeg');
// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagejpeg($thumb, $_SERVER['DOCUMENT_ROOT']."/cartella_sito/immagini/image_thumb.jpg", 75);
?>
答案 0 :(得分:2)
再次阅读错误消息。错误消息本身表示权限被拒绝。
这很常规 - 获得许可被拒绝。检查unix级别文件权限,并确保运行PHP的用户具有读取权限。 只是为了测试 chmod到777.然后恢复到更严格的设置。确保可以访问整个路径链。
也可能是PHP没有进入该目录的指令/权限。我忘记了设置。但是有这个东西;对于htdocs / webroot之外的目录,您需要明确允许。见这 - Make XAMPP/Apache serve file outside of htdocs。但似乎这不适用,因为您正在尝试访问htdocs中的文件。