0

我正在尝试从外部网站检索数据,该网站有 1 行文本 / URL,每 5 分钟更改一次。现在我想获取这个 URL 并使用这个 URL 提交一个表单(每 5 分钟)并将其存储到我的数据库中(php 文件上的 Cron 作业?)或者将它直接插入到我的 mysql 数据库中。

这甚至可能吗?

4

1 回答 1

2

据我了解,您想要获得 2 个任务:

1) 从外部页面获取 URL 并将其存储在您的数据库中

2) 以上每 5 分钟执行一次。

他们来了:

1) CURL 是一个好方法,应该在所有服务器上都可用。您也可以尝试 file_get_contents 它在您的服务器上不受限制。卷曲函数如下所示:

<?php
function curl_get_file_contents($URL)
    {
        $c = curl_init();
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_URL, $URL);
        $contents = curl_exec($c);
        curl_close($c);

        if ($contents) return $contents;
            else return FALSE;
    }
?>

此函数返回带有页面内容的字符串。可能您需要从那里提取您的 URL,如果 URL 具有恒定长度,则使用 PHP SUBSTR 或 STRPOS。当您获得 URL 时,将其存储在 DB 中 - 无需使用表单。

2) 每 5 分钟执行一次脚本的最简单方法是使用 javascript。它会是这样的:

<html>
<head>
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}
//   -->
</script>
</head>
<body onload="JavaScript:timedRefresh(300000);">
<?php // your code here

此页面将每 5 分钟(30 万毫秒)刷新一次,并且每次都会执行 PHP 脚本 - 但您必须在浏览器中不断打开它。这是一个问题,使用 CRON(我几乎没有使用它,所以我没有帮助)。

于 2012-09-10T12:28:20.287 回答