<?php
error_reporting(E_ALL);
if(array_key_exists("uid",$_GET)&&array_key_exists("pwd",$_GET)){
$uid=$_GET["uid"];
$pwd=$_GET["pwd"];
}else{
echo "请输入'uid','pwd'";
exit;
}
set_time_limit(0);
header("X-Accel-Buffering: no");
ob_end_clean();
ob_implicit_flush();
ignore_user_abort(true);
echo "程序运行开始<hr>";
echo "开始计算密码<br>\r\n";
$key="20171109124536982017110912453698";
$iv="2017110912453698";
$pwd=unpack("H*",openssl_encrypt($pwd,"AES-256-CBC",$key,1,$iv))[1];
unset($key);
unset($iv);
echo "开始登录<br>\r\n";
$da='{"platform":1,"userName":"'.$uid.'","password":"'.$pwd.'"}';
$cu=curl_init("https:/"."/www.ewt360.com/api/authcenter/oauth/login");
curl_setopt($cu,CURLOPT_POST,true);
curl_setopt($cu,CURLOPT_POSTFIELDS,$da);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cu, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cu,CURLOPT_HTTPHEADER,["Content-Type: application/json","Expect: ","CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
$jo=json_decode($re,true);
if($jo["success"]!==true){
echo "登录出现问题,请确认账号密码正确";
exit;
}
$co="ewt_user=tk=".$jo["data"]["token"]."&info=".str_replace(["\r","\n"],["","%0A"],$jo["data"]["info"])."; user=tk=".$jo["data"]["token"]."&info=".str_replace(["\r","\n"],["","%0A"],$jo["data"]["info"]);
$uid=explode("-",$jo["data"]["token"])[0];
$token=$jo["data"]["token"];
unset($jo);
$GLOBAL["co"]=$co;
$GLOBAL["uid"]=$uid;
$GLOBAL["token"]=$token;
echo "正在读取记录文件<br>\r\n";
$fn="ewt_record_".$uid.".json";
$GLOBAL["fn"]=$fn;
$re_jo=null;
if(file_exists($fn)){
echo "检测到记录文件,正在读取<br>\r\n";
$re_jo=json_decode(file_get_contents($fn),true);
}else{
$fi=fopen($fn,"w");
fwrite($fi,"");
fclose($fi);
echo "未检测到记录文件,已创建<br>\r\n";
}
if($re_jo===null){
$re_jo=[];
}
$GLOBAL["re_jo"]=$re_jo;
function record($jo){
global $re_jo;
global $fn;
$jo=json_encode($jo);
$re_jo[]=$jo;
if(!file_exists($fn)){
echo "<h1 style='color:#dd0000; background-color:#eeee00;'>Fatal error: 记录文件在程序运行过程中被移除,程序已终止,请重新运行程序</h1>";
exit;
}
$re_jo=array_unique($re_jo);
$fi=fopen($fn,"w");
fwrite($fi,json_encode($re_jo));
fclose($fi);
}
function check_record($jo){
global $re_jo;
$jo=json_encode($jo);
return (count(array_intersect($re_jo,[$jo]))!==0);
}
echo "开始完成作业<br>\r\n";
function getms(){
list($s1,$s2)=explode(' ',microtime());
return (string)sprintf('%.0f',(floatval($s1)+floatval($s2))*1000);
}
function checkLogin(){
global $co;
global $uid;
global $token;
$cu=curl_init("https:/"."/passport.ewt360.com/Ajax/GetUser");
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($cu,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
return (!!preg_match("#\"?\'?islogin\'?\"?: ?true#i",$re,$ma));
}
function sendVideoFinish($jo){
global $co;
global $uid;
global $token;
$vid=$jo["vid"];
$cid=$jo["cid"];
$time=$jo["time"];
$cm=curl_multi_init();
for($a=0;$a<ceil($time/5000)+1;$a++){
$da='sn=ewt_web_video_detail&log='.rawurlencode('{"CommonPackage":{"version":"1.0","userid":"'.$uid.'","ip":"123.123.123.123","os":"Win0","os_bit":"1-bit","resolution":"0*0","mstid":"'.$token.'","browser":"null","browser_ver":"null","playerType":1,"sdkVersion":"1.1.0"},"EventPackage":[{"lesson_id":"'.$vid.'","course_id":"'.$cid.'","stay_time":"5000","status":1,"begin_time":"'.(getms()-$time).'","report_time":"'.(getms()-(ceil($time/5000)-$a)*5000).'","point_time_id":'.$a.',"point_time":"5000","point_num":"'.ceil($time/5000).'","video_type":1,"speed":"1.0","quality":"2","video_index":'.($a+1).'}]}');
eval('
$cu'.$a.'=curl_init("https:/"."/clog.ewt360.com/");
curl_setopt($cu'.$a.',CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu'.$a.',CURLOPT_POST,true);
curl_setopt($cu'.$a.',CURLOPT_POSTFIELDS,$da);
curl_setopt($cu'.$a.', CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cu'.$a.', CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cu'.$a.',CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($cu'.$a.',CURLOPT_TIMEOUT,10);
curl_setopt($cu'.$a.',CURLOPT_COOKIE,$co);
curl_setopt($cu'.$a.',CURLOPT_HTTPHEADER,["Expect: ","CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
curl_multi_add_handle($cm,$cu'.$a.');
');
}
$ru=1;
$cou=ceil($time/5000)+1;
do{
curl_multi_exec($cm,$ru);
if($ru<$cou){
echo (ceil($time/5000)+1-$ru)." / ".(ceil($time/5000)+1)."<br>\r\n";
$cou=$ru;
}
sleep(0.1);
}while($ru>0);
for($a=0;$a<ceil($time/5000)+1;$a++){
eval('
curl_multi_remove_handle($cm,$cu'.$a.');
curl_close($cu'.$a.');
');
}
curl_multi_close($cm);
record($jo);
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
}
function getVideoPlayTime($jo){
global $co;
global $uid;
global $token;
$cu=curl_init("https:/"."/study.ewt360.com/kecheng/detail/".$jo["cid"]."?lessonid=".$jo["vid"]);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($cu,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
preg_match("#videocode ?\= ?\'?\"?([0-9a-zA-Z]+)\'?\"?#i",$re,$ma);
$ma=$ma[1];
$da="videocode=".$ma."&token=".$token;
$cu=curl_init("https:/"."/study.ewt360.com/PlayerService/getplayerinfo/");
curl_setopt($cu,CURLOPT_POST,true);
curl_setopt($cu,CURLOPT_POSTFIELDS,$da);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($cu,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
preg_match("#vid\=([0-9a-zA-Z]+)#i",$re,$ma);
$ma=$ma[1];
$cu=curl_init("https:/"."/p.bokecc.com/servlet/playinfo?vid=".$ma."&m=1");
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($cu,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($cu,CURLOPT_HTTPHEADER,["CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
preg_match("#duration=\'?\"?([0-9]+)\"?\'?#i",$re,$ma);
$ma=$ma[1];
$ma*=1000;
return ($ma+600000);
}
function autoFinish1_1($hid){
echo "开始完成视频作业(id=".$hid."){<br>\r\n";
global $co;
global $uid;
global $token;
$da="homeworkid=".$hid;
$cu=curl_init("https:/"."/teacher.ewt360.com/api/student/homework/homeworkvideolist");
curl_setopt($cu,CURLOPT_POST,true);
curl_setopt($cu,CURLOPT_POSTFIELDS,$da);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($cu,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
$jo=json_decode($re,true);
$jo=$jo["data"]["videolist"];
$li=[];
for($a=0;$a<count($jo);$a++){
settype($jo[$a]["rate"],"string");
if($jo[$a]["rate"]==="1"){
//这个视频已经看完了
continue;
}
$b=[];
$b["vid"]=$jo[$a]["id"];
$b["cid"]=$jo[$a]["courseid"];
if(($jo[$a]["videoseconds"]+0)>0){
$b["time"]=($jo[$a]["videoseconds"]*1000+300500);
}else{
$b["time"]=(getVideoPlayTime($b)+500);
}
$li[]=$b;
}
unset($a);
unset($b);
if(count($li)!==0){
for($a=0;$a<count($li);$a++){
if(check_record($li[$a])){
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["vid"]."))"."未检测到完成,但记录文件中存在,已跳过<br>\r\n";
continue;
}
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["vid"]."))"."{<br>\r\n";
sendVideoFinish($li[$a]);
echo "}<br>\r\n";
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
}
echo "完成!请求已全部发送完毕<br>\r\n}<br>\r\n";
}else{
echo "没有需要完成的作业,作业均已完成<br>\r\n}<br>\r\n";
}
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
}
function autoFinish7_13($aid,$hid){
echo "开始完成专题作业(id=(".$aid.",".$hid.")){<br>\r\n";
global $co;
global $uid;
global $token;
$cu=curl_init("https:/"."/web.ewt360.com/api/holidayprod/holiday/getUserHomeworkDayResource?activityId=".$aid."&homeworkId=".$hid);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($cu,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
$jo=json_decode($re,true);
$jo=$jo["data"]["dateSourceList"];
$li=[];
for($a=0;$a<count($jo);$a++){
for($b=0;$b<count($jo[$a]["resourceList"]);$b++){
if($jo[$a]["resourceList"][$b]["finishStatus"]===1){
continue;
}
if($jo[$a]["resourceList"][$b]["resourceType"]===1){
//视频
$c=[];
$c["type"]="video";
$c["cid"]=$jo[$a]["resourceList"][$b]["parentContentId"];
$c["vid"]=$jo[$a]["resourceList"][$b]["contentId"];
if(($jo[$a]["resourceList"][$b]["studyTime"]+0)!==0){
$c["time"]=(($jo[$a]["resourceList"][$b]["studyTime"]+0.01)*60000+300000);
}else{
$c["time"]=getVideoPlayTime($c)+500;
}
$li[]=$c;
}else if($jo[$a]["resourceList"][$b]["resourceType"]===2){
//卷子
$c=[];
$c["type"]="exam";
$c["cid"]=$jo[$a]["resourceList"][$b]["contentId"];
preg_match("#homeworkId=([0-9]+)#i",$jo[$a]["resourceList"][$b]["contentUrl"],$ma);
$c["eid"]=$ma[1];
unset($ma);
$li[]=$c;
}
}
}
unset($a);
unset($b);
unset($c);
if(count($li)>0){
for($a=0;$a<count($li);$a++){
$type=$li[$a]["type"];
if($type==="video"){
if(check_record($li[$a])){
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["vid"]."))"."未检测到完成,但记录文件中存在,已跳过<br>\r\n";
continue;
}
//视频
echo ($a+1)." / ".count($li)." ";
sendVideoFinish($li[$a]);
echo "<br>\r\n";
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
}else if($type==="exam"){
if(check_record($li[$a])){
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["eid"]."))"."未检测到完成,但记录文件中存在,已跳过<br>\r\n";
continue;
}
//试卷
$cid=$li[$a]["cid"];
$eid=$li[$a]["eid"];
$cu=curl_init("https:/"."/study.ewt360.com/externalapi/wholepaperservice/getreportinfo?paperId=".$cid."&extId=".$eid);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cu, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["Expect: ","CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
if(curl_getinfo($cu,CURLINFO_HTTP_CODE)!==200){
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["eid"]."))"." <h1 style='color:#dd0000;'>ERROR,此请求未成功发送,请在程序运行完成后刷新</h1><br>\r\n";
continue;
}
curl_close($cu);
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
$jo=json_decode($re,true);
$rid=$jo["data"]["reportId"];
$pid=$jo["data"]["platform"];
$cu=curl_init("https:/"."/study.ewt360.com/externalapi/wholepaperservice/getpaperinfo?paperId=".$cid."&extId=".$eid);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cu, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["Expect: ","CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
if(curl_getinfo($cu,CURLINFO_HTTP_CODE)!==200){
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["eid"]."))"." <h1 style='color:#dd0000;'>ERROR,此请求未成功发送,请在程序运行完成后刷新</h1><br>\r\n";
continue;
}
curl_close($cu);
$jo=json_decode($re,true);
$jo=$jo["data"]["questionList"];
$qli=[];
for($b=0;$b<count($jo);$b++){
$ty=$jo[$b]["questionType"];
$ct=$jo[$b]["cate"];
$id=$jo[$b]["id"];
if($ty===0){
$d=[];
$d["id"]=$id;
if($ct===1||$ct===31){
$d["answer"]=$jo[$b]["rightAnswer"][0];
}else{
$d["answer"]="1";
}
$qli[]=$d;
}else if($ty===1){
if(count($jo[$b]["childQuestions"])===0){
$id=$jo[$b]["id"];
$d=[];
$d["id"]=$id;
$d["answer"]="1";
$qli[]=$d;
}else{
for($c=0;$c<count($jo[$b]["childQuestions"]);$c++){
$an=$jo[$b]["childQuestions"][$c]["rightAnswer"][0];
$ct=$jo[$b]["childQuestions"][$c]["cate"];
$id=$jo[$b]["childQuestions"][$c]["id"];
$d=[];
$d["id"]=$id;
if($ct===1||$ct===31){
$d["answer"]=$an;
}else{
$d["answer"]="1";
}
$qli[]=$d;
}
}
}
}
$da="paperId=".$cid."&platform=".$pid."&reportId=".$rid."&";
$ti=rand(10,120).".".rand(1,9999);
$ti_all=0;
settype($ti,"float");
for($b=0;$b<count($qli);$b++){
$da.=rawurlencode("answers[".$b."][questionId]")."=".rawurlencode($qli[$b]["id"])."&".rawurlencode("answers[".$b."][answers][0]")."=".rawurlencode($qli[$b]["answer"])."&".rawurlencode("answers[".$b."][totalSeconds]")."=".$ti."&";
$ti_all+=$ti;
}
$da=substr($da,0,-1);
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
$cu=curl_init("https:/"."/study.ewt360.com/externalapi/wholepaperservice/submittmpanswer");
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_POST,true);
curl_setopt($cu,CURLOPT_POSTFIELDS,$da);
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cu, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cu,CURLOPT_HTTPHEADER,["Expect: ","CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
curl_setopt($cu,CURLOPT_COOKIE,$co);
$re=curl_exec($cu);
if(curl_getinfo($cu,CURLINFO_HTTP_CODE)!==200){
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["eid"]."))"." <h1 style='color:#dd0000;'>ERROR,此请求未成功发送,请在程序运行完成后刷新</h1><br>\r\n";
continue;
}
curl_close($cu);
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
$da="paperId=".$cid."&platform=".$pid."&reportId=".$rid."&totalSeconds=".$ti_all;
$cu=curl_init("https:/"."/study.ewt360.com/externalapi/wholepaperservice/submitpaper");
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_POST,true);
curl_setopt($cu,CURLOPT_POSTFIELDS,$da);
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cu, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["Expect: ","CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
if(curl_getinfo($cu,CURLINFO_HTTP_CODE)===200){
record($li[$a]);
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["eid"]."))"."<br>\r\n";
}else{
echo ($a+1)." / ".count($li)."(id=(".$li[$a]["cid"].",".$li[$a]["eid"]."))"." <h1 style='color:#dd0000;'>ERROR,此请求未成功发送,请在所有程序运行完成后刷新</h1><br>\r\n";
continue;
}
curl_close($cu);
}
}
echo "完成!请求已全部发送完毕<br>\r\n}<br>\r\n";
}else{
echo "没有需要完成的作业,作业均已完成<br>\r\n}<br>\r\n";
}
}
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
$da="pagesize=999999999&page=1&homeworksubject=0&homeworktype=0&homeworkstatus=0";
$cu=curl_init("https:/"."/teacher.ewt360.com/api/student/homework/homeworklist");
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cu,CURLOPT_POST,true);
curl_setopt($cu,CURLOPT_POSTFIELDS,$da);
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cu, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cu,CURLOPT_COOKIE,$co);
curl_setopt($cu,CURLOPT_HTTPHEADER,["Expect: ","CLIENT-IP: 123.123.123.123","X-FORWARDED-FOR: 123.123.123.123"]);
$re=curl_exec($cu);
curl_close($cu);
$jo=json_decode($re,true);
$jo=$jo["data"]["list"];
$li=[];
for($a=0;$a<count($jo);$a++){
$b=$jo[$a];
$ty1=$b["type"];
$ty2=$b["sourcehomeworktype"];
$cn1=$b["apphomeworkstatus"];
$cn2=$b["correctrate"];
$id=$b["homeworkid"];
if(((float)$cn1===(float)1||(float)$cn1===(float)2)&&((float)$cn2>=(float)0&&(float)$cn2<(float)1)){
//这里筛选出来所有未完成且未截止的作业
//原来的判断是$cn1===1&&$cn2>=0&&$cn2<1,但是因为ewt的bug,改成现在这个
if($ty1===1&&$ty2===1){
//这里筛选出来所有视频作业
$c=[];
$c["type"]="1_1";
$c["hid"]=$id;
$li[]=$c;
}else if($ty1===7&&$ty2===13){
//这里筛选出所有(未知)专题作业
$c=[];
preg_match("#activityId=([0-9]+)#i",$b["redirecturl"],$ma);
$c["aid"]=$ma[1];
unset($ma);
$c["type"]="7_13";
$c["hid"]=$id;
$li[]=$c;
}
}
}
unset($a);
unset($b);
unset($c);
if(count($li)!==0){
for($a=0;$a<count($li);$a++){
echo ($a+1)." / ".count($li);
if($li[$a]["type"]==="1_1"){
//视频作业
autoFinish1_1($li[$a]["hid"]);
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
}else if($li[$a]["type"]==="7_13"){
autoFinish7_13($li[$a]["aid"],$li[$a]["hid"]);
if(!checkLogin()){
echo "登录权限异常,程序已停止";
exit;
}
}
}
}else{
echo "没有需要完成的作业,作业均已完成<br>\r\n";
}
echo "<hr>程序运行结束";
?>