【问题标题】:Save dynamic PHP page for offline viewing保存动态 PHP 页面以供离线查看
【发布时间】:2011-07-14 20:29:53
【问题描述】:

我有一个 PHP 页面 foo.php,它从 MySQL 数据库中提取记录并以一种很好的方式显示它们。棘手的部分是我在顶部有链接,如“按名称排序”链接到foo.php?sort=name

我的一般问题是,如果我有几个 POST 变量,如 sort,那么可能的页面数量会呈指数级增长(在我的例子中是几百个)。有没有保存所有这些页面以供离线查看的好方法?在没有更好的解决方案的情况下,我想我可以使用wget 之类的工具来下载页面的所有可能组合。如果这是解决方案,您能否推荐更好的工具来完成这项任务?

编辑:回答我为什么需要这个的问题:我有一个用于会议ISPC 20 的动态程序,我需要将它分发给 USB 闪存驱动器上的人们。在这种情况下,我不认为提供 WAMP 解决方案是一种选择。

【问题讨论】:

  • 你可以写一个小脚本。将所有变量及其值放入一个数组中。对所有变量及其所有值进行一些嵌套循环以生成所有 URL。使用 file_get_contents 下载每个 URL,使用 file_put_contents 将结果写入文件。
  • 离线保存的目的是什么?如果是这样,用户可以在不连接网络的情况下使用该应用程序,您最好使用独立的 W/LAMP 堆栈创建解决方案
  • 第二个@拥有自己的 WAMP 或 LAMP 堆栈。出于多种原因,它非常方便,您不必专门迎合应用程序来为您实现这一目标。
  • 我添加了我需要这个的描述。在这种情况下,WAMP 堆栈不起作用,对吧?

标签: php mysql web-scraping wget offline-browsing


【解决方案1】:

只需随 PHP 代码一起提供一个最小的网络服务器。容易得多。一些选项:

  • MicroApache 可以使用 1.44Mb 软盘
  • MoWeS 是一个基于 Apache 的小型模块化网络服务器堆栈,旨在通过 U 盘运行。
  • QuickPHP 是一个微服务器,通常用于测试。但它可能适合您的需求。
  • NanoWeb 是用 PHP 编写的。您的客户需要安装 PHP,但不需要安装网络服务器。
  • PHP 本身将来可能会得到一个built-in webserver,就像例如Python 和 Ruby 都有。 Here's a patch 实现它。

【讨论】:

  • 如果我必须制作数百个 U 盘副本,您认为这样的解决方案是否可行?换句话说,我可以安装/配置一次然后复制吗?
  • 当然。只需让它在棍子上工作,然后使用克隆实用程序克隆棍子。这是迄今为止制作数百根棍子的最简单方法。更好的是,你可以给十几个人几根棍子和主图像,然后说“嘿,克隆!”
【解决方案2】:

你能在 JavaScript 中实现排序(和/或其他功能)吗?如果是这样,那么您的问题就解决了。

网上有很多不错的库可以在 JS 中对表格进行排序,包括tablesorter。看看他们。

【讨论】:

  • 有趣的选项。我会考虑的。问题是除了排序之外,我还在做其他过滤变量,例如点击一个人并显示与该人关联的所有记录的能力。
猜你喜欢
  • 2013-05-25
  • 2015-03-26
  • 1970-01-01
  • 2019-11-07
  • 1970-01-01
  • 2011-05-15
  • 2011-12-14
  • 2011-08-15
  • 1970-01-01
相关资源
最近更新 更多