function process_csv_file($file_name, $output_folder, $seperator = ',')
{
    $file_handle = fopen($file_name, "r") or die("Couldn't open {$file_name}\n");
    $column_names = array();
    $line_index = 0;
    while (!feof($file_handle)) {
        $current_parts = fgetcsv($file_handle, 0, $seperator);
        $line_index += 1;
        if ($line_index < 2) {
            $column_names = $current_parts;
            continue;
        }
        $row = array();
        $column_index = 0;
        foreach ($column_names as $column_name) {
            if (isset($current_parts[$column_index])) {
                $row[$column_name] = $current_parts[$column_index];
            } else {
                $row[$column_name] = null;
            }
            $column_index += 1;
        }
        handle_row($row, $output_folder);
    }
    fclose($file_handle);
}
$mail_message = null;
$row_tmp = array();
$db_configs_json = file_get_contents("db_config.json");
$db_configs = json_decode($db_configs_json, true);
$servername = $db_configs['servername'];
$dbname = $db_configs['dbname'];
$username = $db_configs['username'];
$password = $db_configs['password'];
try {
    $conn = new PDO("mysql:host={$servername};dbname={$dbname}", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $conn->exec("SET NAMES 'utf8';");
    // 從資料庫抓出資料,檢查有沒有新推文
    $sql = "SELECT * FROM main_table";
    foreach ($conn->query($sql) as $row) {
        handle_row($row, $conn);
    }
    // 將剛剛更新的暫存資料存回資料庫
    $sql = "UPDATE `main_table` SET `last_check`=:last_check, `remaining`=:remaining, `push_count`=:push_count WHERE `url`=:url";
    $stmt = $conn->prepare($sql);
    foreach ($row_tmp as $key_url => $value_array) {
        $stmt->bindParam(':url', $key_url);
        $stmt->bindParam(':last_check', $value_array['last_check']);
        $stmt->bindParam(':remaining', $value_array['remaining']);
        $stmt->bindParam(':push_count', $value_array['push_count']);
        $stmt->execute();
        echo $stmt->rowCount() . " records UPDATED successfully <br>";
    }
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}