我试图运行此代码将文件从一台服务器复制到另一台服务器:
<?php
$from = '\\sxlsv-leapwebdv\c$\inetpub\wwwroot\leap\Deleteme.txt';
$to = '\\sxlsv-leapwebqa\c$\inetpub\wwwroot\leap\Deleteme.txt';
if(!@copy($from,$to))
{
$errors= error_get_last();
echo "COPY ERROR: ".$errors['type'];
echo "<br />\n".$errors['message'];
}
else {
echo 'File copied from remote!<br />';
}
?>
以下是我遇到的错误:
COPY ERROR: 2
copy(/sxlsv-leapwebdv/c$/inetpub/wwwroot/leap/Deleteme.txt): failed to open stream: No such file or directory
文件存在 - 当我在Windows资源管理器中导航到同一路径时,我可以访问该目录和文件。
我做错了吗?
答案 0 :(得分:2)
你必须逃避你的反斜杠。好吧,你使用单引号,所以你大部分时间都很好。但'\\'
计算为单个反斜杠,以便可以转义单引号(通过'\''
)。所以你需要改变你的路径
$from = '\\\\sxlsv-leapwebdv\\c$\\inetpub\\wwwroot\\leap\\Deleteme.txt';
$to = '\\\\sxlsv-leapwebqa\\c$\\inetpub\\wwwroot\\leap\\Deleteme.txt';