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

时间:2013-06-13 19:39:49

标签: php file remote-server read-write

我正在创建一个实用程序,它提供了一个GUI,可以轻松编辑远程服务器上csv文件中的某些值。我的老板希望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');

此解决方案有错误致命错误:调用未定义的函数ssh2_connect()我学到的是因为该函数不是默认php安装的一部分。

最后,有没有简单的方法通过改变权限,安装php扩展或完全不同的方式通过php读/写文件到远程服务器。基本上我正在尝试找到需要对服务器进行最少设置更改的解决方案,因为我不是管理员,并且必须经历一轮关于完成任何更改的过程。如果需要更改某些内容,则会非常感谢您这样做的说明或指示链接。

1 个答案:

答案 0 :(得分:0)

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

请查看@ php remote files storing in example 2