クロンPHPって言っても月や曜日判定はしていません。今回、その判定も行うように変えようと再度、コードを改良しました。前回のコードの約半分ぐらいのコードになってます。土曜日までには、月や曜日の対応を行うようにします。
ちなみにどういう機能をするのかと言いますと、さくらサーバではクロンの制限があります。その制限数以上、使おうとおもって考えたのが、一つのPHPを叩いてクロンがしている事を模倣することでした。
※昨日の話は撤回はしないものの、SEOよりSNSでSEOという考え方に変えました。よくよく考えてみるとアクセス数が多いほど、検索上位表示される確率も増えるのでやはり大事かなとボット。ボットらしくない振る舞いしたボットなら何とか成るかも知れないとも思ってます。
<?php $time_h = array("*","8,11,12,13,17,18,19,20","7,8,11,12,13,17,18,19,21,22,23,1,2","7,8,11,12,13,17,18,19,21,22,23,1,2"); $time_m = array("*/5","0","0","0"); $file_name = array("/home/zen-do/www/zip358.com/index.php","/home/zen-do/www/zip358.com/twitterbot/index-2.php","/home/zen-do/www/zip358.com/twitterbot/index2-2.php","/home/zen-do/www/zip358.com/twitterbot/index2-3.php"); $h = date("H"); $m = intval(date("i")); $cnt = 0; foreach($time_h as $h_ary){ $chk_h = chk($h_ary); if(is_array($chk_h)){ if(chk2($chk_h,$h)){ $chk_m = chk($time_m[$cnt]); if(chk4($chk_m,$time_m[$cnt],$m,$file_name[$cnt])); } }else{ if(chk3($time_h[$cnt],$chk_h,$h)){ $chk_m = chk($time_m[$cnt]); if(chk4($chk_m,$time_m[$cnt],$m,$file_name[$cnt])); } } $cnt++; } function chk($chk_hoge){ if(strcmp($chk_hoge,"*") == 0 ){ return "*"; } if(strstr($chk_hoge,"*/")){ return mb_substr($chk_hoge,2,strlen(chk_hoge)-2); } if(strstr($chk_hoge,",")){ return explode(",",$chk_hoge); } return $chk_hoge; } function chk2($chk_hoge,$H_or_M){ foreach($chk_hoge as $hoge){ if($H_or_M == $hoge){ return true; } } return false; } function chk3($chk_H_or_M,$chk_hoge,$H_or_M){ if(strcmp($chk_hoge,"*") == 0 ){ return true; }elseif(strstr($chk_H_or_M , "*/")){ if($H_or_M % $chk_hoge == 0){ return true; }else{ return false; } }else{ if($H_or_M == $chk_hoge){ return true; }else{ return false; } } return false; } function chk4($chk_hoge,$chk_hoge2,$m,$file_name){ if(is_array($chk_hoge)){ if(chk2($chk_hoge,$m)){ if(shell_exec("/usr/local/bin/php -f ".$file_name))echo "/usr/local/bin/php -f ".$file_name; return true; } }else{ if(chk3($chk_hoge2,$chk_hoge,$m)){ if(shell_exec("/usr/local/bin/php -f ".$file_name))echo " /usr/local/bin/php -f ".$file_name; return true; } } return false; } ?>
<?php $time_h = array("*","8,11,12,13,17,18,19,20","7,8,11,12,13,17,18,19,21,22,23,1,2","7,8,11,12,13,17,18,19,21,22,23,1,2"); $time_m = array("*/5","0","0","0"); $file_name = array("/home/zen-do/www/zip358.com/index.php","/home/zen-do/www/zip358.com/twitterbot/index-2.php","/home/zen-do/www/zip358.com/twitterbot/index-2-2.php","/home/zen-do/www/zip358.com/twitterbot/index-2-3.php"); $tt[0] = date("H"); $tt[1] = date("i"); $ayMAX=0; $MAXS =2; for($i=0;$i<count($time_h);$i++){ $chk[$ayMAX][0]=$time_h[$i]; $chk[$ayMAX][1]=$time_m[$i]; $chk[$ayMAX][2]=$file_name[$i]; $ayMAX++; } for($ay=0;$ay<$ayMAX;$ay++){ $flg=false; for($i=0;$i<$MAXS;$i++){ if(preg_match("/\*/", $chk[$ay][$i])){ if(preg_match("/\*\//", $chk[$ay][$i])){ preg_match("/[0-9]{1,2}/", $chk[$ay][$i],$t); if(!($tt[$i]%$t[0])){ $flg = true; }else{ $flg = false; break; } }else{ if("*" == $chk[$ay][$i]){ $flg = true; }else{ $flg = false; break; } } }else{////////////////// if(in_array($tt[$i],preg_split("/,/",$chk[$ay][$i]))){ $flg = true; }else{ $flg = false; break; } } } if($flg){shell_exec("/usr/local/bin/php -f ".$chk[$ay][$i]);} } ?>