1

在 PHP 中,我想重命名(移动/复制)Windows 文件服务器上的文件:“\myserver\folder1\folder2\myfile.pdf”为“\myserver\folder1\folder2\OLD\myfile.pdf”

(所有文件夹都已存在且目标文件不存在)

我试过这个:

copy("\\\\myserver\\folder1\\folder2\\myfile.pdf", "\\\\myserver\\folder1\\folder2\\OLD\\myfile.pdf");

copy("//myserver/folder1/folder2/myfile.pdf", "//myserver/folder1/folder2/OLD/myfile.pdf");

我收到:

[function.copy]: failed to open stream: Permission denied 

我所在的计算机/登录用户有权重命名/移动/删除/复制到该共享/文件夹。

我猜我需要以某种方式授予 php 权限,或者以我的用户身份运行 php?或者?

4

2 回答 2

0

PHP 将以您的 Web 服务器运行的任何用户身份运行。您需要将该文件夹的权限授予任何用户帐户。

于 2011-02-02T14:11:09.960 回答
0

不要使用复制...改用 move_uploaded

这是从表单获取图像的一个示例:

$img = 'sample.jpg;
$path = '//nameofyourpcinyournetwork/sharedfolder/folderyoulike/';
$pathwithimg = $path.$img;
if (!is_dir($path)) {
  mkdir($path, 0644, TRUE); // TRUE for make it recursive
}
if (file_exists($pathwithimg)) {
 unlink($pathwithimg);
 move_uploaded_file($_FILES["file"]["tmp_name"], $pathwithimg);
 chmod($pathwithimg, 0644);
}

将 safe_mod 更改为 Off 如果你有它 On

PD 是的,我知道,这篇文章是 5 年前的……但是没有人说一个有效的答案,其他人(比如我)可能会发现这个问题

于 2016-04-19T08:26:51.000 回答