verifyUrl();
/* }*/
/* }*/
}
//TODO 废弃的方法
public function verifyUrl()
{
$arr = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
$sum = '';
foreach ($arr as $k => $v) {
$sum += M('codes_' . $v)->count();
/*if (getStatusCode(M('codes_' . $v)->where(array('bach_id' => $bach_id))->getField('code'))==404) {
M('VerifyCodeLog')->save(array('bach_id' => $bach_id, 'table' => 'codes_' . $v,));//记录异常数据
}*/
}
echo $sum;
}
public function lock()
{
if (file_exists('./lock')) {
echo '文件被锁定';
exit;
} else {
@touch('./lock');
echo '文件已锁定';
}
}
public function fenbiao()
{
$this->lock();
$CodeMode = M('codes');
if (empty(S('fenbiao_page'))) {
$now_page = S('fenbiao_page', 0);
} else {
$now_page = S('fenbiao_page');
}
echo '当前第' . $now_page . '页
';
if (empty(S('fenbiao_data'))) {
$data = $CodeMode->order('id asc')->limit(0, 10000)->select();
S('fenbiao_data', $data);
} else {
$data = S('fenbiao_data');
}
$t1 = microtime(true);
if (!empty($data)) {
$Model = M(); // 实例化一个空对象
$Model->startTrans(); // 开启事务
$i = 0;
$codes_id = '';
foreach ($data as $key => $value) {
$table_name = getSubTable('codes', $value['code']);
$where_str = '';
$field_str = '';
$j = 0;
foreach ($value as $kk => $vv) {
if ($j == count($value) - 1) {
$field_str .= "`" . $kk . "`";
$where_str .= "'" . $vv . "'";
} else {
$field_str .= "`" . $kk . "`,";
$where_str .= "'" . $vv . "',";
}
$j++;
}
$sql = "INSERT ignore INTO `$table_name` ($field_str) VALUES ($where_str)";
$Model->execute($sql);
$i++;
$codes_id .= $value['id'] . ',';
if ($i % 200 == 0) {
$codes_id = rtrim($codes_id, ',');
$Model->table('qr_codes')->delete($codes_id);
$codes_id = '';
}
}
if ($i == count($data)) {
$Model->commit(); // 成功则提交事务
unlink('./lock');//删除文件锁定
S('fenbiao_page', $now_page = $now_page + 1);
$t2 = microtime(true);
S('fenbiao_data', NULL);
echo $t2 - $t1 . 's';
} else {
$Model->rollback(); // 否则将事务回滚
}
}
}
public function checkUrl()
{
$lines = file("./url.txt");
foreach ($lines as $line) {
$line = rtrim($line);
$code_status = getStatusCode($line);
if ($code_status == 404) {
echo $line . "
";
} else {
echo $code_status . "
";
}
}
}
}