我正在尝试加载存储在的数据 https://www.nextbigsound.com/charts/social50.rss使用php。
我尝试过使用curl和simplexml_load_file函数,但这些都不适用于我。我对这种语言很陌生,但是当我关注这个链接时显示的数据看起来只不过是一个xml文档。但是每当我尝试加载url时,我都会收到一条错误消息,指出它无法加载。我有什么想法吗?
编辑: 这是我尝试使用simplexml_load_file
的行$rss = simplexml_load_file('https://www.nextbigsound.com/charts/social50.xml');
当我尝试卷曲方法时,我使用了这个:
$url = 'https://www.nextbigsound.com/charts/social50.xml';
$ch = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$rss = curl_exec($curl);
curl_close($curl);
要检查结果是否已返回,我只运行了一个简单的var_dump($rss)
,但它总是显示为布尔设置为false。
答案 0 :(得分:1)
简单file_get_contents
将起作用
$content = file_get_contents('https://www.nextbigsound.com/charts/social50.rss');
echo $content;
或使用simple_xml_load_string
$data = file_get_contents('https://www.nextbigsound.com/charts/social50.rss');
$xml = simplexml_load_string($data);
上面的代码假设有一个https
包装器,您可以通过以下方式检查它:
echo 'https wrapper: ', in_array(stream_get_wrappers(), $w) ? 'yes':'no', "\n";
如果输出false
,您需要提供php_openssl
扩展名。这可以通过取消php.ini
extension=php_openssl.dll // on windows machine
extension=php_openssl.so // on unix machine