smarty模板局部缓存方法使用示例,PHP获取文件的MD5值并判断是否被修改的例子

微信小程序实现给循环列表添加点击样式实例

在开启smarty缓存的情况下,第一次执行时会将其编译好的输出文件保存到cache目录中,然后在程序中通过smarty的is_cache()函数检测其
cache文件是否过期,如果过期会更新缓存,如果没有过期会自动调用cache文件,这样就省去了编译的过程。检测cache过期是看模板文件是否在指定的生命周期内是否更改,这里的更改是通过检测文件的最近修改时间实现的,不是通过检测模板文件内容。

由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。

微信小程序有个属性hover-class=’active’,是指当点击列表元素时当按下鼠标左键会显示active样式,但是鼠标离开样式就会复原.可以参考以下解决方案,直接上代码:

防止一个模板文件的整篇都被缓存:

复制代码 代码如下:

wxml:

index.php文件:

if(isset($_FILES[‘multimedia’]) &&
$_FILES[‘multimedia’][‘error’]==0)
{
 $file_name = $_FILES[‘multimedia’][‘name’];
 $size = getimagesize($_FILES[‘multimedia’][‘tmp_name’]);
    $type = $_FILES[‘multimedia’][‘type’];
 $original = $_FILES[‘multimedia’][‘tmp_name’];
 $md5 = md5_file($original);
 echo $md5;
}

<view class="taga">
 <view class="tag-title">标签</view>
 <view class="tag-box">
 <view wx:for="{{taga}}" wx:key="id" wx:for-index="i">
 <view class="taga-item {{currentItem==item.id?'active-tag':''}}" data-id="{{item.id}}" bindtap="tagChoose">{{item.name}}</view>
 </view>
 </view>
 </view>

复制代码 代码如下:

md5_file()

js文件:

require(‘smarty.class.php’);
$smarty = new smarty;
$smarty->caching = true;

md5_file() 函数计算文件的 MD5 散列。md5() 函数使用 RSA 数据安全,包括
MD5 报文摘译算法。如果成功,则返回所计算的 MD5 散列,如果失败,则返回
false。

 tagChoose:function(options){
 var that = this
 var id = options.currentTarget.dataset.id;
 console.log(id)
 //设置当前样式
 that.setData({
 'currentItem':id
 })


 }

function smarty_block_dynamic($param, $content, &$smarty) {
return $content;
}
$smarty->register_block(‘dynamic’, ‘smarty_block_dynamic’, false);

语法:md5(string,raw)

核心点:class=”taga-item
{{dateCurrent==item.id?’active-tag’:”}}”模板文件中使用三元运算符,通过dateCurrent指定当前item的id

$smarty->display(‘index.tpl’);

参数string,必需。规定要计算的文件。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

index.tpl:

参数charlist,可选。规定十六进制或二进制输出格式:TRUE – 原始 16
字符二进制格式;FALSE – 默认。32 字符十六进制数。

您可能感兴趣的文章:

  • 微信小程序点击控件修改样式实例详解
  • 详解微信小程序Radio选中样式切换
  • 微信小程序
    基础知识css样式media标签
  • 微信小程序
    JS动态修改样式的实现代码
  • 微信小程序
    小程序制作及动画(animation样式)详解
  • 微信小程序
    简单DEMO布局,逻辑,样式的练习
  • 微信小程序仿RadioGroup改变样式的处理方案

复制代码 代码如下:

复制代码 代码如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图