关于html页面生成问题
发布于:2022-01-17 09:50:54
#1 beginning
关于html页面生成问题,main controller下有一个显示新闻的action show, 还有一个生成html测试action test_html,
现在运行test_html,耗费用很长时间,结果生成了目录 但是没有html文件,请问是怎么回事。
代码如下:
function show(){
$news_id = $this->spArgs("nid","");
$news = spClass("cat_news_list_t");
$condition = array("News_id"=>$news_id);
$this->news_list = $news->spLinker()->findAll($condition); //关联查询;
$this->display("white/news_content.html");
}
function test_html(){
$url = array("main", "show", array('nid'=>'2010020408535286'));
spClass('spHtml')->make($url);
}
2010-04-01 14:49:57
#3 beginning
运行这个例子 也是同样问题
不知道是不是因为我项目目录问题
我的项目不是在根目录里
而是在根目录里建了一个项目目录
2010-04-01 16:54:25
#4 jake
spHtml的原理是通过PHP本身去读取spUrl生成的地址的网页内容,然后再生成静态文件。
当目录已经生成的时候,那么也就是说spHtml已经有读取网页了,但是生成不了文件,极有可能就是spUrl生成的地址的这个网页,本身显示就有问题,或者是PHP不能读取。
所以一般来说,spHtml不会一开始就使用,而是当程序做好了,
需要生成html的页面本身已经能够正确显示了,那么再加入spHtml来进行优化。
2010-04-01 16:59:05
#5 beginning
需要生成的html已经能正确显示
而且用
echo spUrl("main", "show", array('nid'=>'2010020408535286'));
显示出来的地址也可以正常打开
2010-04-01 17:22:13
#6 beginning
tmp下生成了这两个文件:
%%2A^2A0^2A010E90%%index.html.php
56f11ec24fe3dc1c806b4512f0d89e87.php
其中56f11ec24fe3dc1c806b4512f0d89e87.php里的内容是:
1570114095s:160:"main|show|a:1:{s:3:"nid";s:16:"2010020408535286";}||/succescms/topic/2010/4/01/011409521.html|D:/Program Files/wamp/www/succescms/topic/2010/4/01/011409521.html";
这是什么意思呢?
2010-04-01 17:32:41
#7 jake
需要生成的html已经能正确显示
而且用显示出来的地址也可以正常打开
beginning 发表于 2010-4-1 17:22 
用实例代码进行测试吧,看看问题在哪里,因为那个例子经过很多的测试都是没问题的。
就那么几行代码我实在看不出问题在哪里。。。
2010-04-01 17:34:10
#8 beginning
麻烦问下spHtml这个类位置在哪里?
2010-04-01 17:53:42
#9 jake
麻烦问下spHtml这个类位置在哪里?
beginning 发表于 2010-4-1 17:53 
在SP_PATH/Core/spView.php内。
只要看看手册就知道了
http://speedphp.com/manual/sphtml
2010-04-01 17:56:57
#10 beginning
原因找到了
sphtml中
@file_get_contents('http://'.$_SERVER["SERVER_NAME"].call_user_func_array("spUrl",$spurl));
没有端口号。。我的机子用的8081端口
添加了端口号 就正常生成了
2010-04-02 14:30:58