繁体   English   中英

如何在PHP中打开和写入texfile到远程服务器的特定位置

[英]how to open and write texfile to remote server's specific location in PHP

我目前正在打开并使用以下内容将文本文件写入本地服务器:

$mypath="sms_file\\cbsms_";
$fp = fopen($file_name.'.txt', "w");
fwrite($fp, $value. "\r\n");
fclose($fp);

我想现在将该文件复制到10.10.18.23(家庭网络)上的/ home / project之类的远程服务器上

假设我在该目录中有R / W访问权限,那么实现此目的的最佳方法是什么?

远程服务器需要知道有一个请求来存储文件。 这里有几种可能性,最简单的方法是运行FTP服务器。

另一种选择是在命令行上使用exec()函数调用scp (前提是你已经与远程服务器交换了ssh密钥)。

另一种选择是在远程服务器上创建一个PHP页面,该页面接受带有文件的POST请求并存储它们。 在这种情况下,您必须提供自己的安全措施。

如果可以将远程主机作为永久卷(通过NFS或CIFS)挂载,则可以使用常规PHP copy()函数。

您可以尝试使用exec()运行SCP命令:

exec('scp /path/to/file.txt user@homenetworkhost:/home/project/file.txt');
// Obviously, you'll have to set up your SSH permissions and for 'user@homenetworkhost' you'll want to change it to your home network's user and host names.

根据你的例外情况,我会说你的PHP服务器在Windows上(查看$mypath="sms_file\\\\cbsms_";中的反斜杠),你的远程主机是UNIX / LINUX(查看正斜杠和位置/home/project )。 我建议在远程主机上设置SSH或FTP,而不是使用这些协议,而不是将其复制到网络位置。 然后,您的PHP服务器(Windows框)必须通过SSH / FTP进行通信并复制该文件。

参考文献: http//php.net/manual/en/book.ftp.php http://php.net/manual/en/function.ssh2-scp-send.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM