Example #1
0
<?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);
Example #2
0
<?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>