我正在尝试从文件中获取html获取内容,然后将其保存到php文件中,以便将其包含在我的主页中。
不幸的是我的脚本没有将数据保存到文件中。我还需要每天编写这些数据,因为它将使用cron作业进行设置。
谁能告诉我哪里出错了?我只是在学习php: - )
<?php
$richSnippets = file_get_contents('http://website.com/data');
$filename = 'reviews.txt';
$handle = fopen($filename,"x+");
$somecontent = echo $richSnippets;
fwrite($handle,$somecontent);
echo "Success";
fclose($handle);
?>
答案 0 :(得分:5)
有几件事,
http://website.com/data
收到404错误,但不存在。
将您的代码更改为
$site = 'http://www.google.com';
$homepage = file_get_contents($site);
$filename = 'reviews.txt';
$handle = fopen($filename,"w");
fwrite($handle,$homepage);
echo "Success";
fclose($handle);
删除$somecontent = echo $richSnippets;
它没有做任何事情。
如果你有适当的权限,它应该有效。
请确保您指向现有网页。
修改强>
启用cURL后,您可以使用以下功能
function get_web_page( $url ){
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
curl_close( $ch );
return $content;
}
现在改变
$homepage = file_get_contents($site);
进入
$homepage = get_web_page($site);
答案 1 :(得分:0)
您应该使用 / 而不是****
$homepage = file_get_contents('http://website.com/data');
此部分
$somecontent = echo $richSnippets;
我上面没有看到$ richSnippets ......它可能没有声明?
你可能想这样做:
fwrite($handle,$homepage);