<?php require __DIR__ . '/lib.php'; $c = 0; do { $data = read_queue(); if ($data) { define('SAVE_DIRNAME', $data); $lpath = build_data_path($data, 'input_left'); $rpath = build_data_path($data, 'input_right'); $left = read_as_array($lpath, true); $right = read_as_array($rpath, true); $left = process_array($left); $right = process_array($right); $type_list = array(TYPE_SAME, TYPE_DIFFERENT, TYPE_LEFT_ONLY, TYPE_RIGHT_ONLY); foreach ($type_list as $type) { $result = compare($type, $left, $right); save_result($type, $result); } } else { usleep(100); } } while (++$c < 10000);
<?php if (isset($_POST['is_upload']) && isset($_POST['type'])) { define('SAVE_DIRNAME', date('YmdHis')); require __DIR__ . '/lib.php'; $async = false; if ($_POST['is_upload']) { save_file($_FILES['left_file']['tmp_name'], 'input_left'); save_file($_FILES['right_file']['tmp_name'], 'input_right'); $async = true; } else { if (strlen($_POST['left']) > MAX_INPUT_SIZE || strlen($_POST['right']) > MAX_INPUT_SIZE) { save_file($_POST['left'], 'input_left', false); save_file($_POST['right'], 'input_right', false); $async = true; } } if ($async) { # 异步处理 save_queue(SAVE_DIRNAME); header('Location: ' . DATA_DIR . '/' . SAVE_DIRNAME); } else { $left = read_as_array($_POST['left'], false); $right = read_as_array($_POST['right'], false); $left = process_array($left); $right = process_array($right); $result = compare($_POST['type'], $left, $right); echo implode('<br />', $result); } } ?> </html>