我正在尝试从外部网站检索数据,该网站有 1 行文本 / URL,每 5 分钟更改一次。现在我想获取这个 URL 并使用这个 URL 提交一个表单(每 5 分钟)并将其存储到我的数据库中(php 文件上的 Cron 作业?)或者将它直接插入到我的 mysql 数据库中。
这甚至可能吗?
据我了解,您想要获得 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(我几乎没有使用它,所以我没有帮助)。