fwrite 前检查数据

Check data before fwrite

我有一个简单的脚本可以从另一台服务器获取数据,运行 每 1 分钟一次。

<?php
$html = file_get_contents('http://google.com/data.php');


$myfile = fopen("data.html", "w") or die("Unable to open file!");

fwrite($myfile, $html);
fclose($myfile);

?>

但有时,脚本会将空白数据写入 data.html。我想是因为我的服务器和远程服务器之间的连接问题,或者目标文件有时只是空白。

请问获取后是否检查数据,如果接收到的数据不为空则写入,如果数据为空则退出。请帮我看看该怎么做。谢谢!

file_get_contents returns false 错误,所以你可以直接使用 ===!== as

来检查它
<?php
$html = file_get_contents('http://google.com/data.php');

if($html !== false){
    $myfile = fopen("data.html", "w") or die("Unable to open file!");

    fwrite($myfile, $html);
    fclose($myfile);
}

?>

如果你只想测试输出是否为空,你可以使用例如比较$html !== false && $html !== ''