试图通过php脚本删除图像


Trying to delete an image through php script

你好,我正在尝试制作一个从服务器中删除一些图像的脚本。我阅读了每一篇关于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

当我从这里阅读时,我在文件上使用chownchmod,在图片文件夹上也使用chmod 777,但似乎什么都没有改变。

drwxrwxrwx 2 root root 26333184 Jul  6 13:33 pictures

我甚至试着使用system和rm命令,但也没用。我承认这是一个权限错误,但无论我使用的是从stackoverflow或谷歌找到的任何解决方案都不起作用。

我错过什么了吗?

编辑:我使用过:chown -R root:www-data /var/www/vhosts/spiti360.gr/httpdocs/demo2/media/com_iproperty/pictures/

我将图片文件夹的用户组设置为www数据

drwxrwxrwx 2 root www-data 26333184 Jul  6 14:15 pictures

但仍然不起作用。

drwxrwxrwx 2 root root 26333184 Jul  6 13:33 pictures

你必须将用户和/或组设置为www数据,我不记得是否必须两者都是,否则apache将无权删除它。