试图通过PHP脚本删除图像

时间:2015-07-06 11:49:55

标签: php apache permissions

您好我试图制作一个从服务器删除一些图像的脚本。 我阅读了关于unlink()和主要权限/错误目录错误link1link2的每一篇文章,我尝试了我找到的每个解决方案,但仍然无法找到错误。

 $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,而我在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

但仍然无效。

1 个答案:

答案 0 :(得分:0)

drwxrwxrwx 2 root root 26333184 Jul  6 13:33 pictures

你必须将用户和/或群组设置为www-data,我不记得两者都必须,否则apache将无法删除它。