所以
$f = fopen('http_url_site_com_my_file_ext');
$info = stream_get_meta_data($f);
http://us1.php.net/manual/ru/function.stream-get-meta-data.php
正如我们在文档中读到的那样,我可以在
中找到内容长度echo $info['wrapper-data'][#] ; // --> Content-length: 438;
也
echo $info['wrapper_type']; //--> http
就我而言,我明白了 cURL而不是http
和
$info['wrapper-data']['headers']; //empty array
所以我无法得到足够的回应。
=========== 信息http://www.php.net/manual/en/reserved.variables.httpresponseheader.php
我们可以获得响应标题
$f = fopen('http_url_site_com_my_file_ext');
var_dump($http_response_header); // --> null.
$data = fread($f, 100);
var_dump($http_response_header); // --> array of all response headers.
但是我的代码非常糟糕。我们在开始时打开很多文件(如果其中一个是fault - die())
然后,我们从已打开的文件中读取。
============ 问题
1)如果我将编译php没有“--with-curlwrappers”,为什么这个实验性功能存在? --- php 5.4.21(php-fpm) ---在phpinfo中,我看不到构建选项为'--with-curlwrappers'
2) 或者如何在不阅读流的情况下获得响应标题
???
请帮助我。答案 0 :(得分:0)
是否必须使用fopen而不是cURL?
此示例适用于cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $http_url_site_com_my_file_ext);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$r = curl_exec($ch);
print_r($r);
如果启用了HTTP扩展,也可以使用http_head。