我能找到的最好的,if fclose fopen类型的东西,使页面加载非常缓慢.
基本上我要做的是以下内容:我有一个网站列表,我想在他们旁边显示他们的favicon.但是,如果一个站点没有,我想用另一个图像替换它而不是显示损坏的图像.
这是我整理的PHP脚本的一部分.基本上,域($ domain1)在表单中定义,并根据服务器的响应代码显示不同的消息.但是,我遇到了让它运转的问题.3位数的响应代码是我感兴趣的.
这是我到目前为止:
function get_http_response_code($domain1) {
$headers = get_headers($domain1);
return substr($headers[0], 9, 3);
foreach ($get_http_response_code as $gethead) {
if ($gethead == 200) {
echo "OKAY!";
} else {
echo "Nokay!";
}
}
}
Run Code Online (Sandbox Code Playgroud) 我猜PHP的get_headers不允许上下文,因此我必须更改默认流上下文以仅获取请求的HEAD.这会导致页面上的其他请求出现一些问题.我似乎无法弄清楚如何重置默认流上下文.我正在尝试这样的事情:
$default = stream_context_get_default(); //Get default stream context so we can reset it
stream_context_set_default( //Only fetch the HEAD
array(
'http' => array(
'method' => 'HEAD'
)
)
);
$headers = get_headers($url, 1); //Url can be whatever you want it to be
//var_dump($headers);
var_dump($default);
stream_context_set_default($default); //This doesn't work as it expects an array and not a resource pointer
Run Code Online (Sandbox Code Playgroud)
有谁知道解决这个问题?
我知道有人建议使用Curl,但我不愿意这个.谢谢!
我编写了一个类来检测cURL是否可用,如果它是使用cURL执行GET,POST,DELETE.在cURL版本中,我curl_getinfo($curl, CURLINFO_HTTP_CODE);用来获取HTTP代码.如果cURL不可用,则使用fopen()来读取文件内容.如何在没有cURL的情况下获取HTTP头代码?
我需要在PHP中获取重定向页面的URL.
假设我有一个URL http://example.com,当我打开它时,它重定向到http://redirected_url.com.所以这个PHP函数的输入和输出必须是这样的:
http://example.com http://redirected_url.com我怎样才能做到这一点?
编辑:我不是指重定向.我需要重定向页面的网址.所以我不知道重定向的网址,但我需要找到它.