【问题标题】:Editing a remote file on-the-fly with PHP使用 PHP 即时编辑远程文件
【发布时间】:2010-04-23 08:38:22
【问题描述】:

我需要即时编辑远程文本文件,其内容目前约为 1Mb。

我已经尝试了几种方法,但似乎都显得笨拙或占用记忆力,我无法依赖。

从逻辑上思考我想要实现的是:

  1. FTP 到远程服务器。
  2. 下载文件副本以进行备份并将其存储在本地某处。
  3. 打开远程文件并添加必要的行。
  4. 根据本地服务器生成的一组不需要的数据从远程文件中删除行。

这可能吗?

我已经成功编写了第 1 步和第 2 步,但第 3 步和第 4 步我遇到了困难。我现在这样做的方式是使用 fgets 并返回整个字符串。真的,我不想这样做,因为它涉及操作和重新生成整个字符串(而且它很大),然后将其重新插入远程文件的两个标记之间。

有没有办法即时操作文件中的文本行?

【问题讨论】:

  • 即时运行是什么意思?在您的浏览器窗口中?在您的本地编辑器中?
  • 在浏览器中。该脚本将作为 cron 作业运行,以从属性网站上的分隔文件中更新和删除不需要的数据。
  • 您对目标服务器还有其他访问权限吗?因为你可以做一些事情,比如使用 rsync,或者通过 ftp 上传一个 diff 文件,然后以某种方式在机器上运行 diff,如果可能的话
  • 听起来您想使用数据库而不是平面文件。也许现在是做出改变的时候了。
  • 或者你可以创建一个 php/whatever webservice 在目标服务器上运行,这样你就可以远程执行修改

标签: php fopen fgets readfile


【解决方案1】:

据我所知,您无法通过 FTP 执行 3 和 4。它不允许操作远程文件,仅用于文件传输。

【讨论】:

  • 有什么方法可以实现吗?我可以下载文件,然后在我们的服务器上执行操作,然后重新上传。
  • 当然,您检索文件,更新它,然后将其传输回来。
  • 但这仍然给我留下了直接操作文件而不是读取内容、编辑和重新插入的问题。
  • 抱歉,您能详细说明一下吗?
猜你喜欢
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 2011-01-09
  • 2015-11-27
  • 2012-09-25
  • 1970-01-01
  • 2018-05-11
  • 2013-04-03
相关资源
最近更新 更多