【问题标题】:Dynamically generate pages from a list with php使用php从列表中动态生成页面
【发布时间】:2012-07-10 04:33:33
【问题描述】:

我需要编写一个简短的函数来动态生成一些非常基本的页面。在文件的顶部,我将有一个列出所有当前页面的数组。然后我需要该函数为数组中的每个项目创建一个页面。以下是页面将生成的项目:

$appArray = array('testAppOne', 'testAppTwo', 'testAppThree');

$fileName = 'info-'.$appName.'html';
$appLogo = 'path/logo.png';
$appName = appArray[1];
$src = '<!DOCTYPE html><html><head></head><body><img src='".$appLogo."'><h1>'.$appName.'</h1></body></html>'

那么我会创建一个 foreach 语句来遍历数组和 $fwrite 每个文件到特定目录吗?还是有更好的方法来解决这个问题?

我知道,如果我们使用数据库,这会容易得多,但我们现在正试图避免这种情况。

【问题讨论】:

  • 写入文件?使用数据库怎么样?
  • 我们试图避免为此使用任何数据库
  • 因为这个解决方案不是针对一个站点,而是针对大量站点和移动应用程序都需要运行这个页面。
  • 肯定会是一次性的过程
  • 有了 Dragon ——老实说,乍一看,这看起来像是一个缓存解决方案,但什么会在所有这些平台上引起缓存刷新?

标签: php html dynamic


【解决方案1】:

我无法想象您为什么要这样做而不是使用一些动态页面生成机制(即数据库),但考虑到您所要求的限制,是的,我认为这将是最好的要走的路。像这样的:

$appArray = array('testAppOne', 'testAppTwo', 'testAppThree');

foreach ($appArray as $app) {
    $fileName = 'info-'.$app.'html';
    $appLogo = 'path/logo.png';
    $src = '<!DOCTYPE html><html><head></head><body><img src="'.$appLogo.'"><h1>'.htmlentities($app).'</h1></body></html>'
    $fh = fopen($fileName, 'w');
    fwrite($fh, $src);
    fclose($fh);
}

【讨论】:

    【解决方案2】:

    尝试使用 sqlite3,对于小型网站来说非常酷!它是可以立即开始使用的数据库。 如果你将它与 dibi (http://dibiphp.com/) 一起使用,那对你来说会很棒,我很确定!

    创建并连接做sqlite代码:

    dibi::connect(array(
        'driver'   => 'sqlite',
        'database' => 'sample.sdb',
    ));
    

    试一试,你永远不会后悔!

    【讨论】:

      猜你喜欢
      • 2015-02-20
      • 1970-01-01
      • 2013-01-30
      • 2012-04-30
      • 1970-01-01
      • 2017-09-06
      • 2019-07-31
      • 1970-01-01
      • 2011-07-18
      相关资源
      最近更新 更多