使用PHP文件功能在另一台服务器上创建文件

时间:2010-02-18 11:27:18

标签: php

我的服务器上有一个脚本,我希望该脚本使用PHP而不是VIA FTP在我的另一台服务器上创建文件?

4 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点。我自己选择第一个,因为它最容易设置:

  • 如果您在另一台服务器上有 PHP + Apache,只需使用file_get_contents使用http URL as filename在另一台服务器上调用某个脚本,或者如果需要,请使用cURL也可以发布文件内容。
  • 如果服务器位于同一网络(LAN,VPN)中,您可以使用Windows共享/ Samba NFS 将远程目录安装到本地文件系统并简单地写入使用fopen / fwrite函数直接归档
  • 通过 SCP SFTP
  • 使用SSH

答案 1 :(得分:1)

PHP允许通过SSH发送文件 - 请参阅ssh2 *系列函数,尤其是ssh2_scp_sendssh2_scp_recv

我自己从未使用它们,但Linux中的基础设施就在那里,就像Windows中的SMB一样。

答案 2 :(得分:0)

通常,FTP是在另一台服务器上创建文件的唯一定期且易于使用的方式(在PHP中)。

当然有其他协议可以让您创建文件,但它们都需要在一台或两台服务器上安装软件:

  • Samba(将允许通过绝对文件路径访问远程服务器)
  • WebDaV(可用的PHP客户端库)
  • SCP(找一个PHP客户端可能会很难)

如果两个服务器都运行PHP,那么在远程服务器上设置PHP脚本可能最容易,该脚本通过POST接受文件数据,并将其写入本地文件。但是,由于POST上传通常会受到限制,因此不是一个完美的解决方案。

答案 3 :(得分:0)

您始终可以使用DAV,但可能需要在接收服务器上进行一些配置。还有SSHFS,它允许您通过SSH隧道在本地轻松安装远程目录,或者只使用ssh2_ *系列函数作为Andy Shellam suggested

真的,有很多方法可以实现这一目标。