3

我需要将文件从一台计算机复制到另一台连接到局域网的计算机。我有那两台机器的IP地址。我已经使用这样的代码来实现它,

$file = 'file.text';// inside htdocs folder
$newfile = '\\\\192.168.1.15\\htdocsfolder\\';
if ( copy($file, $newfile) ) {
    echo "Copy success!";
}else{
    echo "Copy failed.";
}

但复制失败。如何调试,为什么文件没有复制到另一台计算机的 htdocs 文件夹?我是否需要更改两台计算机上的共享访问权限?

请帮忙。谢谢

4

2 回答 2

0

请检查执行 php 脚本的用户是否有权访问远程文件系统。如果在 Linux 上执行脚本,则它对挂载远程共享很有用。只是补充一下,您的代码在我的情况下运行良好。

于 2015-01-28T05:29:35.940 回答
0

您似乎在 Windows 机器上。这里有几件事要记住并检查(它们是同一主题的变体):

  1. 如果这是一个计划任务/批处理作业,请尝试从终端执行它并检查您可能遇到的任何错误(注意相对路径):

    C:\> path-to-php script.php

  2. 否则,如果可以的话,以网络服务器的用户身份运行它,如下所示:

    • Webserver 进程需要\\192.168.1.15\htdocsfolderhtdocs folder.
    • 检查您的网络服务器进程运行的用户。使用您最喜欢的进程/任务/服务管理器来检查确切的用户名并查看该用户是否具有所需的访问模式。
    • 如果您在 Active Directory 环境中,请授予对上述用户名的访问权限
    • 如果 OTOH 您在 LAN 中,请确保用户名存在(是有效用户)并且在两台机器上具有相同的密码。
    • 如果您正确执行此操作,则不需要所有人的权限(通常是一件坏事)
    • 不要选择 MS 和 Windows,但请确保Microsoft 指定的“管理我的计算机”->“系统工具”->“共享文件夹”中的共享和权限

调试很难,你必须自己做很多进一步的研究,谷歌和 SO 是你的朋友。

于 2014-02-06T10:18:23.660 回答