gpt4 book ai didi

php - 如何从 PHP 调用帖子

转载 作者:可可西里 更新时间:2023-11-01 00:59:45 26 4
gpt4 key购买 nike

我有一个使用 WP Super Cache 插件的网站。我需要每天回收一次缓存,然后我需要调用 5 个帖子(URL 地址),所以 WP Super Cache 将这些帖子再次放入缓存(缓存非常耗时所以我想在用户来之前预缓存它所以他们无需等待)。

在我的主机上,我可以使用 CRON,但每小时只能调用 1 次。我需要同时调用 5 个不同的 URL。

这有可能吗?也许在 iframe 中用这 5 个帖子创建一个 HTML 页面?这样的东西行得通吗?

编辑:Shell 不可用,所以我必须使用 PHP 脚本。

最佳答案

在 PHP 中最简单的方法是使用 file_get_contents() ( fopen() 也有效),如果 HTTP stream wrapper在您的服务器上启用:

<?php
$postUrls = array(
'http://my.site.here/post1',
'http://my.site.here/post2',
'http://my.site.here/post3',
'http://my.site.here/post4',
'http://my.site.here/post5',
);

foreach ($postUrls as $url) {
// Get the post as an user will do it
$text = file_get_contents();
// Here you can check if the request was successful
// For example, use strpos() or regex to find a piece of text you expect
// to find in the post

// Replace 'copyright bla, bla, bla' with a piece of text you display
// in the footer of your site
if (strpos($text, 'copyright bla, bla, bla') === FALSE) {
echo('Retrieval of '.$url." failed.\n");
}
}

如果 file_get_contents() 无法打开您服务器上的 URL(某些 ISP 限制此行为),您可以尝试使用 curl :

function curl_get_contents($url)
{
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_CONNECTTIMEOUT => 30, // timeout in seconds
CURLOPT_RETURNTRANSFER => TRUE, // tell curl to return the page content instead of just TRUE/FALSE
));

$text = curl_exec($ch);
curl_close($ch);

return $text;
}

然后使用上面列出的函数 curl_get_contents() 代替 file_get_contents()

关于php - 如何从 PHP 调用帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30850071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com