×

欢迎光临,有什么想法就留言告诉我吧!

你的精彩评论可能会出现在这里哦! 留言抢沙发
PHP扩展之 Imagick安装  去背景色,扣签名

php

PHP扩展之 Imagick安装 去背景色,扣签名

chen chen 发表于2021-07-27 浏览519 评论0
php官网里,一大群老外也看不懂这玩意怎么装,主要原因在于,php版本庞杂,还有x86 x64 nts ts,对应的imagick版本也不一定相同,imagick第一道关还算容易,总还是有办法装上,imagick对应的ImageMagick程序又不一定了,又出现庞杂的版本,即使官网给出的依赖版本也没有效果,同时也没有官方任何地方给出一个合理的安装方法,真是变态。从中文到英文,从php文档到百度、谷歌资料,各种版本,全是坑!

php

PHP获取日期对应星期、一周日期、星期开始与结束日期的方法

chen chen 发表于2021-07-27 浏览506 评论0
/**
   * 获取一周日期
   * @param $time 时间戳
   * @param $format 转换格式
   */
  function get_week_arr($time=0, $format = "Y-m-d"){
      if(!$time){
          $time = time();
      }
      $week = date('w', $time);
      $weekname = array('星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日');
      //星期日排到末位
      if (empty($week)) {
          $week = 7;
      }
      for ($i = 0; $i <= 6; $i++) {
          $currDay = $i+1-$week;
          $data[$i]['date'] = date($format, strtotime("+{$currDay} days", $time));
          $data[$i]['week'] = $weekname[$i];
      }
      return $data;
  }
/*
   * 获取某星期的开始时间和结束时间
   * time 时间
   * first 表示每周星期一为开始日期 0表示每周日为开始日期
   */
  function getWeekMyActionAndEnd($time = '', $first = 1){
      //当前日期
      if(!$time){
          $time = time();
      }
      $sdefaultDate = date("Y-m-d", $time);
      //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
      $w = date('w', strtotime($sdefaultDate)); //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
      $days = $w ? $w - $first : 6;   //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
      $week_start = date('Y-m-d', strtotime("{$sdefaultDate} -{$days} days"));
      $week_end = date('Y-m-d', strtotime("{$week_start} +6 days"));   //本周结束日期
      return array("week_start" => $week_start, "week_end" => $week_end);
  }