首页 > 编程技术 > php

php定时自动生成html静态页面

发布时间:2016-11-25 16:01

php定时自动生成html静态页面
"ob_start()、ob_end_clean()、ob_get_contents()"
ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里;
ob_get_contents():是读出缓冲区里的内容,下面有代码为例;
ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;
[复制此代码]CODE:
if(file_exists("./index.htm"))//看静态index.htm文件是否存在
{
time=time();
//文件修改时间和现在时间相差?的话,直接导向htm文件,否则重新生成htm
if(time-filemtime("./index.htm")< 600)
{
header("Location:classhtml/main.htm");
}
}
//在你的开始处加入ob_start();
ob_start();
//首页内容,就是你的动态部分了
//在结尾加入ob_end_clean(),并把本页输出到一个变量中
temp=ob_get_contents();
ob_end_clean();
//写入文件
fp=fopen("./index.htm",'w');
fwrite(fp,temp) or die('写文件错误');
//echo"生成HTML完成!";

php 目录递归函数-列出所文件与目录

用来实现我的需求。函数的原理很简单,主要就是用了一下递归调用。
function file_list($path){
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($path."/".$file)) {
echo $path.": ".$file."<br>";//去掉此行显示的是所有的非目录文件
file_list($path."/".$file);
} else {
echo $path.": ".$file."<br>";
}
}
}
}
}

这个函数还可以继续做一些改进,加入一些文件夹或文件的图标什么的

SESSION的情况:
  如果窗口A 是已经登陆了的,有SESSION,那么在A 中点击任何一个连接新打开的窗口都是有SESSION。
  从窗口A中,采用window.open()等js方法打开的窗口也都拥有SESSION.
  从窗口A中,点击 文件(F)->新建窗口,这样新建的窗口也有SESSION.
  MyIE中的创建窗口都类似 IE中的在同一窗口点击文件->新建窗口,所以只要输入正确的地址都能取到SESSION
新开窗口取不到SESSION。
  IE,自己手动开启一个新窗口(点击图标,新开一个窗口).这种情况下,即使输入正确的和窗口A一样的地址也取不到SESSION.
  在IE中,打开WebFolder,或者MsOffice等支持HTTP1.1扩展协议的在线编辑的软件,也是取不到SESSION。
总结一下:
  SESSIOn取不到的主要原因是因为http是无状态的通信协议,所以在不同的进程之间无法共享SESSIOn,因为虽然你双击打开的新窗口且输入了同一地址,但是http协议的无状态特性,客户端和服务器都不会主动的去记录他们之间的连接状态.SESSION和COOKIE正是为了明确客户端和服务器之间通信的记录,或者说表明他们之间的关系的这么一种机制..
  你可以把SESSION / COOKIE的这种机制想象成为 京客隆超市 的会员卡. 你有这张会员卡,售货员就能知道你是什么级别的会员,商品应该按照什么样的会员价格卖给你.
  SESSION的处理方式比较多. PHP默认的处理机制是采用在服务器段保存以SESSION_ID的方式保存SESSION.  
  可以这么理解,超市只给了你一个ID卡,你的所有信息都是存放在超市的电脑里,而不是一张IC卡,信息存在卡片里.因为超市的分店之间没有联网,所以你的ID卡,就不能在其他分店里用了

php 入门篇-如何判断mysql数据库连接成功

<?php
$cn = mysql_connect('localhost','root','root');
if( $cn )
{
 die('数据库连接成功');
}
else
{
 die('连接失败');
}
?>

<?php
 mysql_connect('localhost','root','root') or die('remote server cant' connect');
 mysql_select_db('www.111cn.net') or('selected not exists!');
 $sql = "Select borough_thumb,id from fke_borough where borough_thumb<>'' and isnew =1 ";
 $result = mysql_query( $sql ) or die(mysql_error());
 $_path ='../upfile/';
 //批量查询数据库中图片不为空的记录,并用file_exists与is_file进行图片进行分析是否存在网站指定目录
 while( $rs = mysql_fetch_array( $result ) )
 {
  $t_file = $_path.$rs['borough_thumb'];
 echo "<a href=$t_file target=_blank>查看</a>";
 
 if( isFile($t_file) )
 {
  echo '存在<br/>';
 }
 else
 {
  updateSql($rs['id']);
  echo '<br>',$rs['id'];
 }
 }
 //更新数据库
 function updateSql($fid)
 {
  mysql_query("Update fke_borough set borough_thumb='' where id='$fid' ") or die('update fail');
 }
 //用户判断文章是否存 is_file file_exists函数实现
 function isFile($path)
 {
  if( file_exists($path) && is_file($path))
 {
  return true;
 }
 else
 {
  return false;
 }
 }
 //注意is_file 与 file_exists函数不能判断绝对路径如我上面的$_path ='/upfile/'就会显示找不到文件,如果用../upfile/就OK了,
?>

标签:[!--infotagslink--]

您可能感兴趣的文章: