php 生成静态页面 fopen fwrite

 更新时间:2016年11月25日 15:14  点击:1873
这个是昨天写的一个简单的用仿dedecms风格的生成静态页面的php生成静态页面文件程序代码哦,只是简单的。

function makeHtml($msgContent,$filePath,$fileName){//生成html文件  


  if(!is_dir($filePath)){@mkdir($filePath);}   


  $handle = fopen(str_replace('\','../',$filePath.$fileName),'w+') or die("can't create file!$fileName");


  fwrite($handle,$msgContent);


  fclose($handle);  


}

function md5_filename($fileid,$fileztype,$fileuid){//文件加密方法
   return md5($fileid.$fileztype.$fileuid).'.htm';
}
 
function getSql(){//一次多少生成htm文件
  global $limit,$start,$id;
  $sysType = '';  
  if( !empty( $id ) ){
   $sysType = "And systype = $id";
  }
  $sql = "select * from filecontent where siteindex=1 $sysType limit $start,$limit";
  $result = mysql_query($sql) or die('Query error');
   while( $rs = mysql_fetch_array($result) ){
     $fileName =md5_filename($rs[0],$rs['z_type'],$rs['filesendid']);
     $path = get_path($rs['systype']).$rs['z_type'].'/';    
     $parent = substr(getcwd(),0,strrpos(getcwd(),'\'));    
     $filePath =$parent.'\'.$path;
     makeHtml($rs['content'],$filePath,$fileName);
   }
   mysql_free_result($result);
}
 

$info = "<script language="javascript">
   var pgo =0;
   function JumpUrl(){    
    document.write('己生成文件<a href=make_html.php?id=$id&start=$start&limit=$limit&end=$end>如果浏览器无反应请点击这里</a>');
    location='make_html.php?id=$id&start=$start&limit=$limit&end=$end';    
   }
   setTimeout('JumpUrl()',100);
   </script>";
 
  if($start>$end){
   die('完成所有生成任务!');
  } else {
   getSql(); 
   echo $info;  
  }

这个是一个相当全的用php 获得当前的文件url地址哦,好了费话不说多了来看看这款代码吧。

获得当前的脚本网址


function GetCurUrl()
{
 if(!empty($_SERVER["REQUEST_URI"]))
 {
  $scriptName = $_SERVER["REQUEST_URI"];
  $nowurl = $scriptName;
 }
 else
 {
  $scriptName = $_SERVER["PHP_SELF"];
  if(empty($_SERVER["QUERY_STRING"]))
  {
   $nowurl = $scriptName;
  }
  else
  {
   $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
  }
 }
 return $nowurl;
}

提供一款可以保存用户登陆的信息来做了,这里就是一个简单的php 登陆并设置cookie代码哦,很简单的。

提供一款可以保存用户登陆的信息来做了,这里就是一个简单的php 登陆并设置cookie代码哦,很简单的。

if(!$c_log){
 $title.='登陆';
 if($_SERVER['REQUEST_METHOD']=='POST'){
  if(isset($_POST['username']) && trim($_POST['username'])!='' && isset($_POST['password']) && trim($_POST['password'])!=''){
   $username=trim($_POST['username']);
   $password=enc_p(trim($_POST['password']));
   $q_author=sprintf('select * from %s where username=%s and password=%s', $dbprefix.'member', SQLString($username, 'text'), SQLString($password, 'text'));
   $author=mysql_query($q_author) or die('');
   $r_author=mysql_fetch_assoc($author);
   if(mysql_num_rows($author)>0){
    if($r_author['status']==0 || $r_main['veri']>0){
     $uSQL=sprintf('update %s set visit=visit+1, visitdate=%s where id=%s', $dbprefix.'member', time(), $r_author['id']);
     $result=mysql_query($uSQL) or die('');
     session_unset();
     session_start();
     $_SESSION['palu_id']=$r_author['id'];
     if(isset($_POST['remember']) && $_POST['remember']=='1'){
      setcookie('palu_u', $username, time()+86400*30);
      setcookie('palu_p', $password, time()+86400*30);
     }else{
      setcookie('palu_u','',time());
      setcookie('palu_p','',time());
     }
    }else{
     $e=1;
    }
   }else{
    $e=2;
   }
   mysql_free_result($author);
  }
  if(isset($_GET['m']))$u[]='m='.$_GET['m'];
  if(isset($_GET['t']))$u[]='t='.$_GET['t'];
  if(isset($_GET['page']))$u[]='page='.$_GET['page'];
  if(isset($e))$u[]='e='.$e;
  $topinfo.='<script type="text/JavaScript">location.href=''.(isset($u)?'?'.join('&', $u):'./').'';</script>';
 }else{
  if(isset($_GET['e'])){
   if($_GET['e']==2){
    $msg='用户名/密码错误!';
   }elseif($_GET['e']==3){
    $msg='注册成功!请'.($r_main['veri']>0?'登陆':'等待管理员审核').'。';
   }else{
    $msg='您的帐号还没有通过审核,请稍候再试。';
   }
  }
  $content.='<div class="tcontent">'.(isset($msg)?'<div class="msg_v">'.$msg.'</div>':'').'<div class="title">登陆</div><div class="lcontent"><form method="post" action="" onsubmit="return chklog();"><div class="formline"><label for="formname">用户名:</label><input name="username" id="formname" size="32" maxlength="20" /></div><div class="formline"><label for="formpw">密 码:</label><input name="password" id="formpw" size="32" maxlength="20" type="password" /></div><div class="formline"><label></label><input name="remember" value="1" type="checkbox" title="为了确保信息安全,请不要在网吧或者公共机房选择此项!如果今后要取消此选项,只需点击“退出登陆”即可。" />记住我</div><div class="formline"><input type="submit" value="登陆" id="formsubmit" class="button" /> <input type="reset" value="取消" class="button" /><br/>'.($r_main['openreg']==0?'<a href="?m=reg">加入本班</a> | ':'').'<a href="?m=lostpw">忘记密码</a></div></form></div></div>';
 }
}else{
 $topinfo.='<script type="text/JavaScript">location.href='./';</script>';
}
?>

我们来看看关于php 判断是否开启get_magic_quotes_gpc功能了,以方便我们是否决定使用addslashes这个函数了。

function SQLString($c, $t){
 $c=(!get_magic_quotes_gpc())?addslashes($c):$c;
 switch($t){
  case 'text':
   $c=($c!='')?"'".$c."'":'NULL';
   break;
  case 'search':
   $c="'%%".$c."%%'";
   break;
  case 'int':
   $c=($c!='')?intval($c):'0';
   break;
 }
 return $c;
}

php 取得时分秒天函数

function getftime($t=''){
 global $r_main;
 if($t=='')$t=time();
 return $t+$r_main['timefix'];
}

function getldate($t){
 $a=time()-$t;
 if($a<60){
  $c=$a.'秒前';
 }elseif($a<3600){
  $c=floor($a/60).'分钟前';
 }elseif($a<86400){
  $c=floor($a/3600).'小时前';
 }elseif($a<86400*2){
  $c='1天前';
 }
 return (isset($c)?$c.' ':'').date('Y-n-j H:i', getftime($t));
}

[!--infotagslink--]

相关文章

  • php二维码生成

    本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
  • Java生成随机姓名、性别和年龄的实现示例

    这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
  • C#生成随机数功能示例

    这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php生成唯一数字id的方法汇总

    关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢?当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随...2015-11-24
  • jQuery为动态生成的select元素添加事件的方法

    下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
  • PHP自动生成后台导航网址的最佳方法

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
  • js生成随机数的方法实例

    js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1 之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要: (1)生成一个 0 - 1...2015-10-21
  • PHP验证码生成与验证例子

    验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
  • PHP生成不同颜色、不同大小的tag标签函数

    复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大小,可根据需要自行更改 return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFo...2013-10-04
  • php中利用str_pad函数生成数字递增形式的产品编号

    解决办法:$str=”QB”.str_pad(($maxid[0]["max(id)"]+1),5,”0″,STR_PAD_LEFT ); 其中$maxid[0]["max(id)"]+1) 是利用max函数从数据库中找也ID最大的一个值, ID为主键,不会重复。 str_pad() 函数把字符串填充为指...2013-10-04
  • JS生成某个范围的随机数【四种情况详解】

    下面小编就为大家带来一篇JS生成某个范围的随机数【四种情况详解】。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧...2016-04-22
  • C#生成Word文档代码示例

    这篇文章主要介绍了C#生成Word文档代码示例,本文直接给出代码实例,需要的朋友可以参考下...2020-06-25
  • C#中静态的深入理解

    这篇文章详细的介绍了C#中的静态,有需要的朋友可以参考一下...2020-06-25
  • Vue组件文档生成工具库的方法

    本文主要介绍了Vue组件文档生成工具库的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-11
  • 浅析C#中静态方法和非静态方法的区别

    C#静态方法与非静态方法的区别不仅仅是概念上的,那么他们有什么具体的区别呢?让我们通过本文向大家介绍下C#中静态方法和非静态方法的区别,一起看看吧...2020-06-25
  • PHP简单实现生成txt文件到指定目录的方法

    这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下...2016-04-28
  • 西部数码空间伪静态配置方法图解

    今天在使用西部数码空间时发现里面有很多定义好的伪静态规则了,下面我来给大家介绍一下在后面主机面板中配置使用伪静态功能吧,希望文章对各位会带来帮助。...2016-10-10
  • 史上最简洁C# 生成条形码图片思路及示例分享

    这篇文章主要介绍了史上最简洁C# 生成条形码图片思路及示例分享,需要的朋友可以参考下...2020-06-25
  • 简单入门级php 生成xml文档代码

    $doc = new domdocument('1.0'); // we want a nice output $doc->formatoutput = true; 代码如下 复制代码 $root = $doc->createelement('bo...2016-11-25
  • 解决PHPWord导出生成Word中文乱码问题

    PHPWord是一个可以把相关文件生成word文档的插件了,但由于是老外开发的对于gbk支持不好,所以我们在导出带有中文的word时会出现乱码问题,下面本文就PHPWord中文乱码问题...2016-11-25