我正在创建一个实用程序,它提供了一个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读/写文件到远程服务器。基本上我正在尝试找到需要对服务器进行最少设置更改的解决方案,因为我不是管理员,并且必须经历一轮关于完成任何更改的过程。如果需要更改某些内容,则会非常感谢您这样做的说明或指示链接。
答案 0 :(得分:0)
您是否在php.ini中设置了enable-url-fopen-wrapper
?(仅当您的php版本较旧时)