PHP - 将文件从服务器传输到Windows PC

时间:2017-08-04 19:05:28

标签: php file ssh scp transfer

我已经尝试了一些SSH和SCP片段来将文件从Web服务器传输到Windows PC,但我无法让它正常工作。我相信我需要一些东西,比如防火墙权限,php模块等等。

令我难以理解的是,ssh到linux机器很容易,因为我知道用户名和密码但是对于Windows,你真的没有用户名,有时甚至没有密码。

话虽如此,这是我需要做的。我有一个在线Linux服务器,需要将一个XML文件发送到Windows PC。根据您的经验,最好的php模块,片段以及您为实现此目的而采取的任何提示是什么?我相信我用于我的Windows机器的IP将是我的公共IP,但世界上的密码是什么..我的计算机上没有pw?我是否还需要在我的Windows PC上安装额外的软件?

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

没有进入您的IP可能是动态的。

听起来您需要在Web服务器上执行cron作业。然后,您可以在Windows PC上设置FTP / SSH服务器以接收文件。

另一方面,如果此文件位于具有FTP访问权限的网站文件夹中。您可以从Windows PC FTP到服务器并使用FTP客户端获取文件。

FTPBox等程序可以为您或Curl从命令行同步。

使用Windows PC上的Curl等命令行程序,您可以在Windows PC上设置一个cron作业,以便在您想自动执行此操作时自动获取此文件。

还有一些其他选项,如Windows PC上的虚拟Linux机器。然后你可以从那里SSH并设置共享文件夹等。

但简单地说,就像我的经历一样。

  • 如果您有网络服务器,请使用FTPS并在PC上使用FTP客户端。
  • 或使用像Curl这样的命令行程序从windows pc
  • 自动执行

从服务器,您需要一个cron作业来自动执行该过程,但您需要设置某种类型的服务器才能可靠地接收它。您可以让PHP文件使用php exec()调用脚本文件,具体取决于您的Web服务器权限。

您的路由器和软件防火墙可能需要配置为允许您用于传输的端口。

最简单的选项是网络服务器上的FTP服务器和Windows机器上的FTP客户端。

有几个选项,所以我希望这有点帮助,我没有考虑安全,自动化,权限等一些事情。所以这些都不是你最好的选择。 :)

希望这有点帮助

编辑:只是添加Windows没有附带SSH,这可能解释了一些用户名/密码问题。在Windows PC上设置FTP服务器时,可以设置凭据

以下是在Windows PC上设置FTP服务器的指南 https://www.howtogeek.com/140352/how-to-host-an-ftp-server-on-windows-with-filezilla/

在您的电脑上安装服务器之后,如果您想在网络服务器上创建一个cron作业以实现自动化,那么您将从服务器设置中获得您的凭据。