我开发了一个php项目。因为我将图像从flash传递给PHP。当我获得参数值时,我将转换为base64格式并写入新文件。(png image)。上述逻辑完全适用于我的本地系统。但是当我在服务器中部署这个seeting时。除了文件写入一切正常。
以下是生成图片的代码。
$filename = $templateID.'.png';
if ($handle = fopen("images/cat_images/".$filename, 'w'))
{
if (!fwrite($handle, $somecontent) === FALSE)
{
fclose($handle);
$query = "UPDATE `products` SET `template_data`='".$signData."' WHERE `id`=$templateID LIMIT 1";
$db->query($query);
}
}
答案 0 :(得分:0)
如果你无法写,那肯定是你没有该目录的写权限。
授予目录写入权限。
修改
检查fopen
中提到的路径是否正确。根据你的实时目录结构,我认为这是不正确的。
尝试在fopen
if ($handle = fopen("/full/path/here/images/cat_images/".$filename, 'w'))
答案 1 :(得分:0)
试试这个sudo chown www-data /path/to/images/ -r
将授予apache写入权限,或将www-data用户添加到您的组
或sudo chmod a+w /path/to/images/ -r
允许任何人在那里写,而不是最好的选择