我正在尝试编辑外部文件。我已经更改了文件的 chmods (666),我可以使用file_get_contents读取文件,但我无法放置内容:
[function.file-put-content]:无法打开流:HTTP 包装器不支持可写连接
我该如何解决这个问题?
有没有办法编辑外部服务器上的文件? 也许你可以建议更好的方法
CHMOD 将外部服务器上的文件转换为 0777,然后可以在外部更改它们:
<?php
chmod("/somedir/somefile", 0777);
?>
然后用于编辑:
<?php
$file = fopen ("ftp://login:password@server", "w");
if (!$file) {
echo "<p>Unable to open remote file for writing.n";
exit;
}
/* Write the data here. */
fwrite ($file, "blablabla");
fclose ($file);
?>
请注意,这可能会产生重大安全风险。
查看 http://us.php.net/manual/en/function.file-put-contents.php 的"注释"部分,以获取有关使用 URL 文件规范编写文件的一些线索。 dr:不像通过file_get_contents()读取远程文件那么容易,可能会让你相信。
不过,从安全的角度来看,这是一个坏主意。 几个稍微好一点的想法:
-
签出ssh2_scp_send并将文件的本地更改副本 scp 到远程服务器。这可能涉及通过您的操作系统供应商安装 SSH2 PECL 扩展(例如,将它们安装在 Debian 型 Linux 机器的 'apt' 中,Red Hat 等人的 'yum' 或类似机器中)或从 PECL 安装
。 POST 到远程服务器上的脚本,并让它为您更新文件。