您好我试图制作一个从服务器删除一些图像的脚本。 我阅读了关于unlink()和主要权限/错误目录错误link1,link2的每一篇文章,我尝试了我找到的每个解决方案,但仍然无法找到错误。
$baseDir=dirname(__DIR__).'/media/com_iproperty/pictures/';
$deleteImage=$prefix.'_'.$imgParts[0].'.'.$imgParts[$imgLen-1];
var_dump($deleteImage); //196040_DSCN2675.JPG
$deleteThumb=$prefix.'_'.$imgParts[0].'_thumb.'.$imgParts[$imgLen-1];
$user='root';
var_dump($baseDir); ///var/www/vhosts/spiti360.gr/httpdocs/demo2/media/com_iproperty/pictures/
$commandyo='rm '.$baseDir.$deleteImage;
if (file_exists($baseDir.$deleteImage)) {
echo "exists";
chown($baseDir.$deleteImage,$user);
chmod($baseDir.$deleteImage,0777);
//system($commandyo);
unlink($baseDir.$deleteImage);
}
die();
我总是将“exists”字符串作为输出,这意味着该文件存在且不是目录错误。
当我使用时:
root@server ~ # locate 196040_DSCN2675.JPG
输出:
/var/www/vhosts/spiti360.gr/httpdocs/demo2/media/com_iproperty/pictures/196040_DSCN2675.JPG
图片没有删除。
我启用了错误显示,我接受了这个:
Warning: chown(): Operation not permitted in /var/www/vhosts/spiti360.gr/httpdocs/demo2/custom_scripts/eAgentSingle.php on line 562
Warning: chmod(): Operation not permitted in /var/www/vhosts/spiti360.gr/httpdocs/demo2/custom_scripts/eAgentSingle.php on line 563
我在文件上同时使用chown
和chmod
,而我在here读取的图片文件夹上也chmod 777
,但似乎没有任何变化。
drwxrwxrwx 2 root root 26333184 Jul 6 13:33 pictures
我甚至尝试使用system和rm命令,但也没有工作。 我知道这是一个权限错误,但是我在stackoverflow或google中找到的任何解决方案都无法正常工作。
我想念一下吗?
编辑:
我用过:chown -R root:www-data /var/www/vhosts/spiti360.gr/httpdocs/demo2/media/com_iproperty/pictures/
我将图片文件夹的用户组设置为www-data
drwxrwxrwx 2 root www-data 26333184 Jul 6 14:15 pictures
但仍然无效。
答案 0 :(得分:0)
drwxrwxrwx 2 root root 26333184 Jul 6 13:33 pictures
你必须将用户和/或群组设置为www-data,我不记得两者都必须,否则apache将无法删除它。