当前位置:  编程技术>php
本页文章导读:
    ▪smarty生成静态页面的方法      示例代码: require('libs/Smarty.class.php'); $tpl=new Smarty(); $tpl->template_dir='./templates/'; $tpl->compile_dir='./templates_c'; $tpl->config_dir='./config/'; $tpl->cache_dir='./cache/'; $tpl->left_delimiter='<{'; $t.........
    ▪php小数转换百分数的函数      php小数转换百分数的函数,感兴趣的朋友可以参考下。 示例1: <?php function xx($n) {     return $n*100.'%'; } ?> 示例2: 如果有小说位数有要求 可以用 sprintf()(".2f", $n*100).'%'; 示例3: 先 .........
    ▪有关php定时执行的方法介绍      有关php定时执行的方法介绍,感兴趣的朋友可以参考下。 1、apt-get install php5-cli 安装使其生成 /usr/bin/php php可执行程序向php文件发送消息。 2、编写要执行的php文件,在/var/www/test.php 内容如下.........

[1]smarty生成静态页面的方法
    来源: 互联网  发布时间: 2013-12-24

示例代码:
require('libs/Smarty.class.php');
$tpl=new Smarty();
$tpl->template_dir='./templates/';
$tpl->compile_dir='./templates_c';
$tpl->config_dir='./config/';
$tpl->cache_dir='./cache/';
$tpl->left_delimiter='<{';
$tpl->right_delimiter='}>';
ob_start(); //打开输出缓冲区

$tpl->assign('s_title',$_POST['title']);//设置网站标题
//以下为接受传递过来的变量并赋值到模板页
$tpl->assign("title",$_POST['title']);
$tpl->assign("content",stripslashes()($_POST['content']));
$tpl->assign("time",date("Y-m-d"));
 
$tpl->display("tpl.html");
 
$this_my_f=ob_get_contents();//读取缓冲区数据
 
ob_end_clean();//清空缓冲区数据
//------------------------创建文件夹---------------------------
$dir_name =date("Ymd"); //以当前日期,创建应该生成的静态页面所要存入的目录
 
if (!is_dir("webpage/".$dir_name)) //先判断是否已经创建了此目录!无,则先创建此目录
{
 mkdir("webpage/".$dir_name);
}
  
$filename ="tpl.html";              
//-------------------------静态页保存的路径--------------------
if(tohtmlfile_cjjer($filename,$this_my_f)){
 echo ("生成页面成功");
}else{
 echo ("<script>alert('生成静态页面失败!')</script>")
}
?>
function tohtmlfile_cjjer($file_cjjer_name,$file_cjjer_content)
{
   //$dir_name =date("Ymd"); //以当前日期,创建应该生成的静态页面所要存入的目录
   //if (!is_dir($dir_name)) //先判断是否已经创建了此目录!无,则先创建此目录
   //{
   //mkdir($dir_name);
   //}

   if (is_file ($file_cjjer_name)){
       @unlink ($file_cjjer_name);
   }
   $cjjer_handle = fopen ($file_cjjer_name,"w");
   if (!is_writable ($file_cjjer_name)){
      return false;
   }
   if (!fwrite ($cjjer_handle,$file_cjjer_content)){
      return false;
   }
   fclose ($cjjer_handle); //关闭指针
     return $file_cjjer_name;
  }
Smarty最大的功能是做模版的页面缓存。也就是通过Smarty可以完成两个步骤:编译+解析
第一步:编译。是指把模版文件的标签替换为纯php,再保存在缓存位置,保存的文件扩展名是PHP,我把这个步骤叫做编译(这是我自己的叫法,不是官方的)
第二步:解析。也就是把刚才编译的PHP文件解析执行而已~~这个就不用多做解释了
切入正题,在Smarty.class.php文件中加入如下代码
function MakeHtmlFile($file_name, $content)
     {     //目录不存在就创建
         if (!file_exists (dirname($file_name))) {
              if (!@mkdir (dirname($file_name), 0777)) {
                      die($file_name."目录创建失败!");
              }
          }
                   
          if(!$fp = fopen($file_name, "w")){
              echo "文件打开失败!";
              return false;
          }


          if(!fwrite($fp, $content)){
              echo "文件写入失败!";
             fclose($fp);
              return false;
          }
       
         fclose($fp);
             chmod($file_name,0666);
      } 这个函数的作用就是保存文件~~

调用方法如下
require '../libs/Smarty.class.php';
$smarty = new Smarty;
//&hellip;&hellip;&hellip;&hellip;省略变量定义和赋值
//$smarty->display('index.tpl');
$content=$smarty->fetch("index.tpl");
$smarty->MakeHtmlFile('./index.html',$content);//生成

smarty生成静态页面总结:
生成静态页面时分离模板的一个方法
通常的做法是:读取模板,用正则表达式等将模板中的变量替换成我们想要的值才能生成静态页面。经高手指点原来SMARTY就有这功能,研究了一下果然很方便,用起来也很简单,要点如下:
ob_start();//开启缓冲区
$smarty->assign(“a”,$a);
$smarty->display(”temp.html”);
$html_content= ob_get_contents(); //读取缓冲区的数据
ob_end_clean();//关闭缓冲区
$htm_content里头的东西就是想要的东西了,将它写入页面就可以了。


    
[2]php小数转换百分数的函数
    来源: 互联网  发布时间: 2013-12-24

php小数转换百分数的函数,感兴趣的朋友可以参考下。

示例1:
<?php
function xx($n)
{
    return $n*100.'%';
}
?>

示例2:
如果有小说位数有要求
可以用 sprintf()(".2f", $n*100).'%';

示例3:
先 四舍五入,后转换
$str=round(5.055, 2);     // 5.06

$str1=$str."%"; //5.06%

#-------------------------
sprintf(".2f", $n*100).'%';


    
[3]有关php定时执行的方法介绍
    来源: 互联网  发布时间: 2013-12-24

有关php定时执行的方法介绍,感兴趣的朋友可以参考下。

1、apt-get install php5-cli
安装使其生成 /usr/bin/php php可执行程序向php文件发送消息。

2、编写要执行的php文件,在/var/www/test.php
内容如下:
 

代码如下:
#!/usr/bin/php -q
<?php
$file = "/var/www/".date('H').'_'.date('i').'_'.date('s').'.txt';
file_put_contents($file,date('Y-m-d'));
?>
 

然后 chmod +x test.php 赋予test.php 可执行的权限。

3、 命令 crontab -e
*/1 *   * * *   /var/www/test.php
每分钟执行test.php

4、/etc/init.d/cron restart
第二种方式:
1、vi /etc/crontab
*/1 *   * * * root   /var/www/test.php

2、也可以去掉test.php 头部第一行#!/usr/bin/php -q
那么crontab任务写法为:
*/1 *   * * * root   /usr/bin/php   /var/www/test.php
注意:php执行的路径为相对/root 最后写上绝对路径


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
建站其它 iis7站长之家
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,