我正在制作一个提供 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 在远程服务器上读取/写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17095623/