【问题标题】:PHP - Transfer file from Server to Windows PCPHP - 将文件从服务器传输到 Windows PC
【发布时间】:2018-01-12 19:26:05
【问题描述】:

我尝试了一些 SSH 和 SCP sn-ps 来将文件从 Web 服务器传输到 Windows pc,但我无法完全正常工作。我认为我需要多种东西,例如防火墙权限、php 模块等。

让我难以置信的是,通过 ssh 连接到 linux 机器非常容易,因为我知道用户名和密码,但对于 Windows,您实际上没有用户名,有时甚至没有密码。

话虽如此,这就是我需要做的。我有一个在线的 linux 服务器,需要将一个 XML 文件发送到 Windows pc。根据您的经验,最好的 php 模块、sn-ps 以及您为实现这一目标而遵循的任何技巧是什么?我相信我将用于我的 Windows 机器的 IP 将是我的公共 ip,但是密码到底是什么......我的电脑上没有密码?我还需要在我的 Windows 电脑上安装额外的软件吗?

感谢任何帮助。

【问题讨论】:

    标签: php file ssh scp transfer


    【解决方案1】:

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

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

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

    诸如 FTPBox 之类的程序可以从命令行为您或 Curl 同步。

    在您的 Windows PC 上使用像 Curl 这样的命令行程序,您可以在您的 Windows PC 上设置一个 cron 作业来自动获取此文件,如果您想自动执行此操作。

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

    但简单地说,就我的经验而言。

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

    您需要从服务器执行 cron 作业来自动执行该过程,但您需要设置某种类型的服务器以可靠地接收此信息。根据您的网络服务器权限,您可以让 PHP 文件使用 php exec() 调用脚本文件。

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

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

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

    希望对你有所帮助

    编辑:仅添加 Windows 不附带 SSH,这可能会解释一些用户名/密码问题。当您在 Windows 电脑上设置 FTP 服务器时,您可以设置您的凭据

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

    一旦你在你的电脑上设置了服务器,如果你想在你的网络服务器上创建一个 cron 作业以实现自动化,你将从你的服务器设置中获得你的凭据。

    【讨论】:

    • @O Grant - 感谢所有伟大的想法。在我阅读本文之前,我实际上已经完成了您所说的一切——关于 FTP 软件以及制作用户名和密码等。唯一的问题是您必须在路由器上打开一个端口。让我给你一个场景,让你看看我在创造什么……我有一个在线网站,我可以让不同的客户登录。有一个迷你应用程序允许他们扫描条形码并将文件发送到他们 Windows PC 上的文件夹。我需要一种方法让他们配置自己的设置,以便将其发送到他们的 Windows PC。 (更多在下一条评论)
    • (续...)我希望这就像让他们输入他们的 IP/用户和密码一样简单,但我真的必须告诉他们下载 FTP 软件、打开防火墙和大多数重要的是,我不能告诉客户登录他们的路由器并打开一个端口。我觉得告诉你的客户是一件很糟糕的事情。但是再一次..没有其他方法可以将文件传输到他们的 PC.. 不知道从这里去哪里,因为即使他们可以在路由器上打开端口,他们可能甚至不知道如何登录进入路由器或知道密码!
    • 我明白你在说什么。一个潜在的解决方案是让您的网站提示用户下载。来源:w3schools.com/tags/att_a_download.asp
    • 对不起,我不小心按了 Enter(完整消息如下):我明白你在说什么。一个潜在的解决方案是让您的网站提示用户下载。来源:w3schools.com/tags/att_a_download.asp 示例: 然后根据他们需要的任何文件,使用下载属性上的 PHP 脚本更改文件以更改文件名.
    • 另一种解决方案可能是让 Python 脚本通过 FTP 进入您的服务器并获取相关文件并将其下载到 PC。此选项还需要配置(即用户 PC 上的 Python),因此最好在您的网站上使用某种提示。如果您希望我帮助您,请随时给我发消息,您仍然可以选择解决方案。
    猜你喜欢
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 2011-02-04
    • 2019-07-12
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多