能够删除文件,无法复制或修改它们 - PHP

时间:2016-12-09 01:03:55

标签: php apache2

使用以下代码,我在尝试复制文件时遇到错误,或者我尝试用它做任何其他事情。但是,我可以使用几乎相同的代码来删除文件。

$file = "img1.jpg";

if (!copy($file, "img2.jpg")) {
  echo ("Error copying $file");
} else {
  echo ("Copied $file");
}

删除代码:

if (!unlink($file)) {
  echo ("Error deleting $file");
} else {
  echo ("Deleted $file");
}

任何人都知道为什么会这样做?

编辑:Apache拥有这些文件但似乎无法根据is_readable和is_writeable读取或写入它们

Edit2:在复制代码中添加了第二个参数。这不是问题,只是我在发布这个问题时犯了错误。

2 个答案:

答案 0 :(得分:0)

$file = "img1.jpg";
$newFile = "img1_copy.jpg";

if (!copy($file, $newFile)) {
  echo ("Error copying $file");
} else {
  echo ("Copied $file");
}

http://php.net/manual/en/function.copy.php

函数copy()需要2个参数。

答案 1 :(得分:0)

为每个文件手动更改所有权限,以便www-data拥有它,并且www-data(组)可以读取和写入它。 Apache做了一些奇怪的事情,当apache用户拥有并可以读取和写入文件时,组www-data也无法做到。