【发布时间】:2015-06-25 22:23:27
【问题描述】:
我需要在 R 中使用 FTP 上传文件,但该目录来自我在服务器上的主目录。当我使用 RCurl 运行以下代码时,出现此错误:550 var: No such file or directory:
ftpUpload(what = "./plots/daily/LastTwentyFour.png",
to = "ftp://spider/../../var/www/dashboard/img/LastTwentyFour.png",
verbose = TRUE,
userpwd = "REDACTED:REDACTED")
更具体地说,我得到这个输出:
> PWD
< 257 "/home/dhadley" is the current directory
* Entry path is '/home/dhadley'
> CWD var
* ftp_perform ends with SECONDARY: 0
< 550 var: No such file or directory
* Server denied you to change to the given directory
* Connection #0 to host spider left intact
Error in function (type, msg, asError = TRUE) :
Server denied you to change to the given directory
当我尝试上传到我的主目录时它可以工作:
ftpUpload(what = "./plots/daily/LastTwentyFour.png",
to = "ftp://spider/LastTwentyFour.png",
verbose = TRUE,
userpwd = "REDACTED:REDACTED")
我想问题是,如何在 ftpUpload 函数中的目录之间导航?或者,如果有另一种方法可以将文件从 Windows 上传到 R 中的 Linux 服务器,我也对此持开放态度。提前致谢!
编辑:我对相关目录具有写入权限,并且能够在 FileZilla 中上传文件。不幸的是,我无法更改服务器上的主目录。
【问题讨论】:
-
你能用 R 以外的其他程序将文件上传到那个目录吗?我猜答案是否定的,并且存在权限/所有权问题。
-
哦,我刚刚意识到该路径中的“..”旨在脱离主目录并进入根目录。正如@MrFlick 所说,为此,您需要将服务器的主目录设置为“/”而不是“/home/dhadley”,正如他进一步指出的那样,您可能不应该这样做。除此之外,您为什么在问题中标记窗口?
-
@Dean,对不起:我还应该提到我对 ../../var/www/dashboard 目录具有写入权限。我可以在 FileZilla 中访问它。这是我们存储我工作的网站部分的地方。
-
@Dean 很遗憾,我无法更改服务器上的主目录。我添加了 Windows,以防除了 RCurl 之外有人对如何在 R 中移动文件有其他建议,但这可能是一个平淡无奇的标签。谢谢。
-
你是说 FileZilla 会让你将 /var/ww/dashboard 指定为 /home/dhadley/../../var/www/dashboard?