单独创建一个php文件

单独创建一个php文件,php,html,file,Php,Html,File,我下面的代码一次创建了所有文件,而不是经过1、2、3、4等等 $i = 0; while($i < $pages) { $met = $this->articles(); $myFile = trim($met.".php"); $fh = fopen($myFile, 'w') or die("Can't create files."); $stringData = "<html><head><meta name=\"

我下面的代码一次创建了所有文件,而不是经过1、2、3、4等等

$i = 0;
while($i < $pages)
{
    $met = $this->articles();
    $myFile = trim($met.".php");

    $fh = fopen($myFile, 'w') or die("Can't create files.");
    $stringData = "<html><head><meta name=\"description\" content=\"" . $met. "\" />
                   <meta name=\"keywords\" content=\"" . $met . "\" /><h1>" . $met . "</h1>
                   <base href='http://gumpic.com/'>".$this->show_web("http://gumpic.com")."</html>";
    fwrite($fh, $stringData);
    fclose($fh);
    $i++;
}

echo "We've created your " . $pages . " pages.";
$i=0;
而($i<$pages)
{
$met=$this->articles();
$myFile=trim($met..php”);
$fh=fopen($myFile,'w')或die(“无法创建文件”);
$stringData=”
“$met。”
“$this->show_web(”http://gumpic.com")."";
fwrite($fh,$stringData);
fclose($fh);
$i++;
}
回应“我们已经创建了您的”$页。“页面。”;
我该如何加载页面,在页面上打印哪些页面已经完成?喜欢

  • 完整的
  • 完整的
  • 完整的
  • 未决

  • 另外,是否有任何我可以加快这个脚本。它的速度非常慢,只在大约3分钟内创建了2k个文件,然后给了我一个内部错误。

    此脚本的速度主要取决于硬盘驱动器的速度。还有操作系统处理打开和写入访问的能力

    如果您想要显示进度,只需包含一个
    echo(“处理”。$i.“\n”)while
    循环中使用
    flush()
    刷新缓冲区。确保发送
    echo str\u repeat(“,1024)”,“\n”在脚本开始时强制浏览器显示内容,而无需等待大量数据


    使用
    set\u time\u limit()
    为脚本提供更多的处理时间。

    考虑使用一些模板语言,因为每次分配和链接输出肯定会有糟糕的性能

    一些好的图书馆应该是:

    • [我通常的选择]
    • )
    • [纯PHP,少量用于小型用途]
    如果您还没有编写命令行工具,请考虑编写命令行工具-回显控制台将比写入屏幕更快。

    ob_start();
    
    ob_start();
    $i = 0;
    while($i < $pages)
    {
        $met = $this->articles();
        $myFile = trim($met.".php");
    
        $fh = fopen($myFile, 'w') or die("Can't create files.");
        $stringData = '<html>
                        <head>
                            <meta name="description" content="' . $met. '" />
                            <meta name="keywords" content="' . $met . '" />
                        </head>
                        <body>     
                        <h1>"' . $met . '"</h1>
                       <base href="http://gumpic.com/">'.$this->show_web("http://gumpic.com").'</body>
                      </html>';
        fwrite($fh, $stringData);
        fclose($fh);
        echo 'Created page ' . ($i+1) . '<br/>';
        flush();
        ob_flush();
        $i++;
    }
    
    echo "Done generating " . $i . "pages.";
    
    $i=0; 而($i<$pages) { $met=$this->articles(); $myFile=trim($met..php”); $fh=fopen($myFile,'w')或die(“无法创建文件”); $stringData='1!' “.$met.”” “.$this->show_web(”http://gumpic.com").' '; fwrite($fh,$stringData); fclose($fh); 回显“已创建页面”。($i+1)。“
    ”; 冲洗(); ob_flush(); $i++; } 回显“完成生成”$我“页面。”;
    如果您想修复这样的错误,您可以。我可以知道这里的用例吗?@NateCorky经过编辑使其成为
    2K
    。您的HTML没有结束
    标记,也没有开始或结束
    标记。。当你可以生成动态页面时,为什么要生成这么多静态文件?@nick-这些标记在HTML中都是可选的。嗨,我应该把flush放在哪里?它仍然只是显示加载页面。在echo指令之后。flush()强制缓冲区为空,以便将内容发送到浏览器。