简易记录一下yii2-date-picker插件的选拔方法,PHP目

2019-07-13 作者:编程   |   浏览(199)

本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法。分享给大家供大家参考,具体如下:

一、多表关联的配置

本文实例讲述了Yii2框架引用bootstrap中日期插件yii2-date-picker的方法。分享给大家供大家参考,具体如下:

本文实例讲述了PHP基于cookie与session统计网站访问量并输出显示的方法。分享给大家供大家参考,具体如下:

<?php
 //循环遍历目录中所有的文件,并统计目录和文件的大小
 $dirName="phpMyAdmin";
 $dir=opendir($dirName); //返回一个资源类型
 while($fileName=readdir($dir)){
 $file=$dirName."/".$fileName;
 if($fileName!="." && $fileName!=".."){
  if(is_dir($file)){
  echo "<font color='red'>".$fileName."===".date("Y-m-d H:i:s",filectime($file))."==".filetype($file)."==".toSize(dirSize($file))."</font><br/>";
  }
  else{
  echo "<font color='green'>".$fileName."=====".date("Y-m-d H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file))."</font><br/>";
  }
 }
 }
 closedir($dir);
 //把文件或目录的大小转化为容易读的方式
 function toSize($size){
 $dw; //指定文件或目录统计的单位方式
 if($size>pow(2,30)){
  $dw="GB";
  $size=round($size/pow(2,30),2);
 }
 else if($size>pow(2,20)){
  $dw="MB";
  $size=round($size/pow(2,20),2);
 }
 else if($size>pow(2,10)){
  $dw="KB";
  $size=round($size/pow(2,10),2);
 }
 else
 {
  $dw="bytes";
 }
 return $size.$dw;
 }
 //利用递归的方式统计目录的大小
 function dirSize($dirName){
 $dirsize=0;
 $dir=opendir($dirName);
 while($fileName=readdir($dir)){
  $file=$dirName."/".$fileName;
  if($fileName!="." && $fileName!=".."){ //一定要进行判断,否则会出现错误的
  if(is_dir($file)){
   $dirsize =dirSize($file);
  }
  else{
   $dirsize =filesize($file);
  }
  }
 }
 closedir($dir);
 return $dirsize;
 }
?>

在我们使用 AR 执行关联查询之前,我们需要让 AR 知道一个 AR 类是怎样关联到另一个的。

最近在学习yii2 框架,发现框架很强大,而且结合了时下许多新的技术在里面。

<?php
$f_open = fopen("count.txt","r "); //打开指定的文件
$count = fgets($f_open); //读取文件中的数据
if(empty($_COOKIE['cookie_name'])){ //判断COOKIE的是否存在
 setcookie("cookie_name",value,time() 1800); //如果不存在,则创建COOKIE
 $count = $count   1; //将变量$count的值加1
 rewind($f_open); //打开指定的文件
 fwrite($f_open,$count); //向文件中写入新的数据
 fclose($f_open); //关闭文件
}
?>



<?php session_start(); include("conn/conn.php");
 $data1=date("Y-m-d"); //获取当前访问时间
 $data2=substr(date("Y-m-d"),0,7);
 $ip=getenv('REMOTE_ADDR');
 if($_SESSION[temp]=="" || $_SESSION[temp]==NULL){ //判断$_SESSION[temp]==""的值是否为空,其中的temp为自定义的变量
 //使用数据库存储数据
 $select=mysql_query("select * from tb_count10 where data1='$data1' and ip='$ip'");
 if(mysql_num_rows($select)>0){
  $query1="update tb_count10 set counts=counts 1 where data1='$data1' and ip='$ip'";
  $result1=mysql_query($query1);
 }else{
 $query="insert into tb_count10(counts,data1,data2,ip)values('1','$data1','$data2','$ip')";
    $result=mysql_query($query);
 }
 $_SESSION[temp]=1; //登录以后,$_SESSION[temp]的值不为空,给$_SESSION[temp]赋一个值1
 }
?>



<?php
  //以图形的形式输出数据库中的记录数
  $query="select sum(counts) as counts from tb_count04 ";//查询数据库中总的访问量
  $result=mysql_query($query);
  $visitor=mysql_result($result,0,'counts');
  echo "----------";
  echo "<strong>网站的访问量: </strong>"; //以图形的方式显示访问次数
  //对补位数字0的处理
  $len=strlen($visitor); //获取字符串的长度
  $str=str_repeat("0",6-$len); //获取6-$len个数字0
  for($i=0;$i<strlen($str);$i  ){ //获取变量$str的字符串长度
   $result=$str[$i];
   $result='<img src=images/0.gif>';
   echo $result; //循环输出$result的结果
  }
  //对数据库中数据的处理
  for($i=0;$i<strlen($visitor);$i  ){ //获取字符串的长度
   $result=$visitor[$i];
   switch($result){
   //如果值为"0",则输出0.gif图片
   case "0"; $ret[$i]="0.gif";break;
   case "1"; $ret[$i]="1.gif";break;
   case "2"; $ret[$i]="2.gif";break;
   case "3"; $ret[$i]="3.gif";break;
   case "4"; $ret[$i]="4.gif";break;
   case "5"; $ret[$i]="5.gif";break;
   case "6"; $ret[$i]="6.gif";break;
   case "7"; $ret[$i]="7.gif";break;
   case "8"; $ret[$i]="8.gif";break;
   case "9"; $ret[$i]="9.gif";break;
   }
   echo "<img src=images/".$ret[$i].".>"; //输出访问次数
}
?>

更多关于PHP文件与目录操作相关内容感兴趣的读者可查看本站专题:《php文件操作总结》与《PHP目录操作技巧汇总》

两个 AR 类之间的关系直接通过 AR 类所代表的数据表之间的关系相关联。 从数据库的角度来说,表 A 和 B 之间有三种关系:一对多(one-to-many,例如 tbl_user 和 tbl_post),一对一( one-to-one 例如 tbl_user 和 tbl_profile)和 多对多(many-to-many 例如 tbl_category 和 tbl_post)。 在 AR 中,有四种关系:

简单记录一下yii2-date-picker插件的使用方法:

更多关于PHP操作cookie与session相关内容感兴趣的读者可查看本站专题:《PHP中cookie用法总结》及《PHP中session问题总结》

希望本文所述对大家PHP程序设计有所帮助。

BELONGS_TO(属于): 如果表 A 和 B 之间的关系是一对多,则 表 B 属于 表 A (例如 Post 属于 User);

首先先了解一下github中的相关资源:

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • php简单统计中文个数的方法
  • php中计算中文字符串长度、截取中文字符串的函数代码
  • PHP 实现字符串翻转(包含中文汉字)的实现代码
  • php与javascript正则匹配中文的方法分析
  • php自定义截取中文字符串-utf8版
  • php实现的中文分词类完整实例
  • php实现的简单中文验证码功能示例
  • php中文字符串截取多种方法汇总
  • PHP的Json中文处理解决方案
  • php自定义函数实现统计中文字符串长度的方法小结

HAS_MANY(有多个): 如果表 A 和 B 之间的关系是一对多,则 A 有多个 B (例如 User 有多个 Post);

其次:在自己的项目中利用上面链接中的相关方法下载此资源,命令为:

您可能感兴趣的文章:

  • PHP记录搜索引擎蜘蛛访问网站足迹的方法
  • php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
  • php下用cookie统计用户访问网页次数的代码
  • php利用cookie实现访问次数统计代码
  • php使用文本统计访问量的方法
  • 使用PHP实现蜘蛛访问日志统计
  • php获得网站访问统计信息类Compete API用法实例
  • php网站判断用户是否是手机访问的方法
  • php使用cookie显示用户上次访问网站日期的方法
  • PHP实现网站访问量计数器
  • PHP简单实现记录网站访问量功能示例

HAS_ONE(有一个): 这是 HAS_MANY 的一个特例,A 最多有一个 B (例如 User 最多有一个 Profile);

php composer.phar require "2amigos/yii2-date-picker-widget" "*"

MANY_MANY: 这个对应于数据库中的 多对多 关系。 由于多数 DBMS 不直接支持 多对多 关系,因此需要有一个关联表将 多对多 关系分割为 一对多 关系。 在我们的示例数据结构中,tbl_post_category 就是用于此目的的。在 AR 术语中,我们可以解释MANY_MANY 为 BELONGS_TO 和 HAS_MANY 的组合。 例如,Post 属于多个(belongs to many) Category ,Category 有多个(has many) Post.

最后,在视图文件中使用下面的代码:

AR 中定义关系需要覆盖 CActiveRecord 中的 relations() 方法。此方法返回一个关系配置数组。每个数组元素通过如下格式表示一个单一的关系。

use dosamigosdatepickerDatePicker;

'VarName'=>array('RelationType', 'ClassName', 'ForeignKey', ...additional options) 

例子中提供了两种方法:

其中 VarName 是关系的名字;RelationType 指定关系类型,可以是一下四个常量之一: self::BELONGS_TO, self::HAS_ONE,self::HAS_MANY and self::MANY_MANY;ClassName 是此 AR 类所关联的 AR 类的名字; ForeignKey 指定关系中使用的外键(一个或多个)。

方法1. 使用widget方式

需要弄清楚的几点:

<?= DatePicker::widget([
  'model' => $model,
  'attribute' => 'date',
  'template' => '{addon}{input}',
    'clientOptions' => [
      'autoclose' => true,
      'format' => 'dd-M-yyyy'
    ]
]);?>

(1),VarName指什么? 详见下面例2。

方法2. ActiveForm方式

(2),RelationType。一共有4种,分别为

<?= $form->field($model, 'date')->widget(
  DatePicker::className(), [
    // inline too, not bad
    'inline' => true,
    // modify template for custom rendering
    'template' => '<div class="well well-sm" style="background-color: #fff; width:250px">{input}</div>',
    'clientOptions' => [
      'autoclose' => true,
      'format' => 'dd-M-yyyy'
    ]
]);?>

self::HAS_MANY, self::BELONGS_TO, self::MANY_MANY, self::HAS_ONE。

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(3),ClassName。即关联的另一个../model/类名.php。

您可能感兴趣的文章:

  • 从零开始学YII2框架(一)通过Composer安装Yii2框架
  • 从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
  • 从零开始学YII2框架(六)高级应用程序模板
  • 从零开始学YII2框架(二)通过 Composer 安装扩展插件
  • 从零开始学YII2框架(三)扩展插件yii2-gird
  • 从零开始学YII2框架(四)扩展插件yii2-kartikgii
  • Yii2框架数据库简单的增删改查语法小结
  • Yii2框架中日志的使用方法分析
  • PHP可逆加密/解密函数分享
  • php加密算法之实现可逆加密算法和解密分享
  • php实现可逆加密的方法
  • Yii2框架可逆加密简单实现方法

(4),ForeignKey。谁是谁的外键?

(5),附加条件

ER Diagram

例1,一对多与多对一关系(post和user之间的关系)

1)models/Post.php

class Post extends CActiveRecord 
{ 
...... 
public function relations() 
{ 
return array( 
'author'=>array(self::BELONGS_TO, 'User', 'author_id'), 
); 
} 
} 

其中Post与User的关系是BELONGS_TO(多对一)关系,并通过Post的author_id与User关联。

Post中author_id是外键,关联到User中。

本文由小鱼儿玄机30码发布于编程,转载请注明出处:简易记录一下yii2-date-picker插件的选拔方法,PHP目

关键词: 小鱼儿玄机30码