PHP 在远程服务器上读取/写入文件

标签 php file remote-server read-write

我正在制作一个提供 GUI 的实用程序,以便轻松编辑远程服务器上 csv 文件中的某些值。我的老板想要在私有(private)网络服务器上运行 php 中的实用程序。我是 php 的新手,但我能够让 GUI 文件修改器在本地正常工作而没有问题。现在的最后一部分不是本地测试文件,我需要从远程服务器获取请求文件的副本,编辑它,然后用编辑后的文件替换旧文件。我的问题是上传和下载文件。

当我搜索解决方案时,我发现了以下内容: (注意在每一个中我只是想移动一个测试文件)

$source = "http://<IP REMOTE SERVER>/index.html";
$dest = $_SERVER['DOCUMENT_ROOT']."index.html";
copy($source, $dest);

此解决方案遇到权限错误。

$source ="http://<IP REMOTE SERVER>/index.html";
$destination = $_SERVER['DOCUMENT_ROOT']."newfile.html";

$data = file_get_contents($source);

$handle = fopen($destination, "w");

fwrite($handle, $data);
fclose($handle);

这也有权限错误

$connection = ssh2_connect('<IP REMOTE SERVER>', 22);
ssh2_auth_password($connection, 'cahenk', '<PASSWORD>');
ssh2_scp_recv($connection, '/tmp/CHenk/CHenk.csv', 'Desktop/CHenk.csv');

这个解决方案有错误 fatal error :调用未定义的函数 ssh2_connect() 我了解到这是因为该函数不是默认 php 安装的一部分。

最后,是否有任何简单的方法可以通过更改权限、安装 php 扩展或完全不同的方式通过 php 将文件读/写到远程服务器。基本上,我试图找到需要对服务器进行最少设置更改的解决方案,因为我不是管理员,并且必须经过一轮关于完成任何更改的过程。如果确实需要更改某些内容,我们将不胜感激有关这样做的说明或指向说明的链接。

最佳答案

您是否在 php.ini 中设置了 enable-url-fopen-wrapper?(仅当您的 php 版本较旧时)

请看@php remote files storing in example 2

关于PHP 在远程服务器上读取/写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17095623/

相关文章:

php - 从 mysqli 中的表中选择多个数据

PHP:<<< 与 ob_start

java - 如何使用 ImageIO 测试 BufferedImage 是否拾取 'null'

node.js - 我需要远程调用 mongoexport 并从 node.js 获取结果

linux - 如何使用 Qt 在另一台设备上启动和停止外部程序?

php - 对 MySQL 结果进行编号

php - echo 结果不显示

java - 从文本文件读取并创建对象数组 Java

java - 获取子文件夹的名称 - Perforce Java API

linux - 我可以使用本地脚本通过 SSH 连接到多个服务器(从本地到 servA,然后从 servA 到 servB)吗?