日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

PHP中實(shí)現(xiàn)crontab代碼分享_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:PHP利用hash沖突漏洞進(jìn)行DDoS攻擊的方法分析
這篇文章主要介紹了PHP利用hash沖突漏洞進(jìn)行DDoS攻擊的方法,實(shí)例分析了php利用hash進(jìn)行DDoS攻擊的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下 本文實(shí)例分析了PHP利用hash沖突漏洞進(jìn)行DDoS攻擊的方法。分享給大家供大家參考。具體分析如下: 首先聲明:本文內(nèi)容只用于研究學(xué)習(xí)

 這篇文章主要介紹了PHP中實(shí)現(xiàn)crontab代碼分享,本文給出了實(shí)現(xiàn)代碼和使用方法,需要的朋友可以參考下

   

1. 準(zhǔn)備一個(gè)標(biāo)準(zhǔn)crontab文件 ./crontab

 代碼如下:
# m h dom mon dow command
* * * * * date > /tmp/cron.date.run

 

2. crontab -e 將此cron.php腳本加入系統(tǒng)cron

 

代碼如下:
* * * * * /usr/bin/php cron.php

 

3. cron.php 源碼

 

代碼如下:
// 從./crontab讀取cron項(xiàng),也可以從其他持久存儲(chǔ)(mysql、redis)讀取
$crontab = file('./crontab');
$now = $_SERVER['REQUEST_TIME'];

 

foreach ( $crontab as $cron ) {
$slices = preg_split("/[\s]+/", $cron, 6);
if( count($slices) !== 6 ) continue;

$cmd = array_pop($slices);
$cron_time = implode(' ', $slices);
$next_time = Crontab::parse($cron_time, $now);
if ( $next_time !== $now ) continue;

$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
// we are the parent
pcntl_wait($status, WNOHANG); //Protect against Zombie children
} else {
// we are the child
`$cmd`;
exit;
}
}

/* https://github.com/jkonieczny/PHP-Crontab */
class Crontab {
/**
* Finds next execution time(stamp) parsin crontab syntax,
* after given starting timestamp (or current time if ommited)
*
* @param string $_cron_string:
*
* 0 1 2 3 4
* * * * * *
* - - - - -
* | | | | |
* | | | | +----- day of week (0 - 6) (Sunday=0)
* | | | +------- month (1 - 12)
* | | +--------- day of month (1 - 31)
* | +----------- hour (0 - 23)
* +------------- min (0 - 59)
* @param int $_after_timestamp timestamp [default=current timestamp]
* @return int unix timestamp - next execution time will be greater
* than given timestamp (defaults to the current timestamp)
* @throws InvalidArgumentException
*/
public static function parse($_cron_string,$_after_timestamp=null)
{
if(!preg_match('/^((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)\s+((\*(\/[0-9]+)?)|[0-9\-\,\/]+)$/i',trim($_cron_string))){
throw new InvalidArgumentException("Invalid cron string: ".$_cron_string);
}
if($_after_timestamp && !is_numeric($_after_timestamp)){
throw new InvalidArgumentException("\$_after_timestamp must be a valid unix timestamp ($_after_timestamp given)");
}
$cron = preg_split("/[\s]+/i",trim($_cron_string));
$start = empty($_after_timestamp)?time():$_after_timestamp;

$date = array( 'minutes' =>self::_parseCronNumbers($cron[0],0,59),
'hours' =>self::_parseCronNumbers($cron[1],0,23),
'dom' =>self::_parseCronNumbers($cron[2],1,31),
'month' =>self::_parseCronNumbers($cron[3],1,12),
'dow' =>self::_parseCronNumbers($cron[4],0,6),
);
// limited to time()+366 - no need to check more than 1year ahead
for($i=0;$i<=60*60*24*366;$i+=60){
if( in_array(intval(date('j',$start+$i)),$date['dom']) &&
in_array(intval(date('n',$start+$i)),$date['month']) &&
in_array(intval(date('w',$start+$i)),$date['dow']) &&
in_array(intval(date('G',$start+$i)),$date['hours']) &&
in_array(intval(date('i',$start+$i)),$date['minutes'])

){
return $start+$i;
}
}
return null;
}

/**
* get a single cron style notation and parse it into numeric value
*
* @param string $s cron string element
* @param int $min minimum possible value
* @param int $max maximum possible value
* @return int parsed number
*/
protected static function _parseCronNumbers($s,$min,$max)
{
$result = array();

$v = explode(',',$s);
foreach($v as $vv){
$vvv = explode('/',$vv);
$step = empty($vvv[1])?1:$vvv[1];
$vvvv = explode('-',$vvv[0]);
$_min = count($vvvv)==2?$vvvv[0]:($vvv[0]=='*'?$min:$vvv[0]);
$_max = count($vvvv)==2?$vvvv[1]:($vvv[0]=='*'?$max:$vvv[0]);

for($i=$_min;$i<=$_max;$i+=$step){
$result[$i]=intval($i);
}
}
ksort($result);
return $result;
}
}

分享:MacOS 安裝 PHP的圖片裁剪擴(kuò)展Tclip
Tclip是一個(gè)頭像自動(dòng)識(shí)別,php圖片裁剪項(xiàng)目。他可以自動(dòng)識(shí)別圖片中的重要區(qū)域,并且在圖片裁剪時(shí)保留重要區(qū)域。下面我們就來看看如何在MacOS上進(jìn)行安裝。 Tclip 用于圖片裁剪,有以下特點(diǎn): 能進(jìn)行人臉識(shí)別。圖片中有人臉,將自動(dòng)視為人臉區(qū)域?yàn)橹匾獏^(qū)域,將不會(huì)被裁剪

來源:模板無憂//所屬分類:PHP教程/更新時(shí)間:2015-03-27
相關(guān)PHP教程