file_get_contents函数多用来于来采集远程服务器上的内容,但使用file_get_contents函数之前我们在php.ini中是必须把allow_url_fopen开启才行
问题描述:
fopen(),file_get_contents(),getimagesize() 等都不能正常获得网络上的内容,具体表现为凡参数是URL的,一律返回空值.
如果是windows可找开 allow_url_fopen开启,如果是否linux中可以重新编译PHP,去掉–with-curlwrapper 参数——编译前记得先执行 make clean.
windows 在未开启allow_url_fopen时我们利用如下代码:
- <?php
- $file_contents = file_get_contents(''http:
- echo $file_contents;
- ?>
是获取不到值的,但我们可以利用function_exists来判断此函数是否可用,代码如下:
- function file_get_content($url) {
- if (function_exists(‘file_get_contents')) {
- $file_contents = @file_get_contents($url);
- }
- if ($file_contents == ”) {
- $ch = curl_init();
- $timeout = 30;
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
- $file_contents = curl_exec($ch);
- curl_close($ch);
- }
- return $file_contents;
- }
|