file_get_contentsまたはcurlでサイトを表示している

Writer: admin Type: clarksre Date: 2019-01-08 00:00
file_get_contentsまたはcurlでサイトを表示しているのですが、取得したサイトが表示されるかをPHPのみで判別する方法が知りたいです。javascriptにあるinnerTextのような機能はPHPにはないのでしょうか。ちなみに「strip_tags」ではだめでした。<?phpecho file_get_contents('http://***.com/');?><script>if(document.querySelector("body").innerText.length ===0){alert("表示できるデータはありませんでした");}共感した0###file_get_contents() は取得に失敗した場合には false が返るので、それでチェックではダメなんでしょうか?http://php.net/manual/ja/function.file-get-contents.php$html = @file_get_contents('http://***.com/');if ($html === false) { // 取得失敗時の処理 }$http_response_header にステータスとして200以外が返るケースは file_get_contens() は false になったと思うので、上記チェックだけで行けた気がします。#が、自信なしなので検証してみてください(汗http://php.net/manual/ja/reserved.variables.httpresponseheader.phpナイス0
###ご回答ありがとうございます。>file_get_contents() は取得に失敗した場合には false が返るので、それでチェックではダメなんでしょうか?→取得自体は成功しているのですが、echo file_get_contents('http://***.com/');で何も表示されない つまり document.querySelector("body").innerText.length ===0になるので、これをjavascriptを使わずにPHPで判別したいのですが…よろしくお願いいたします。
###この質問は投票によってベストアンサーに選ばれました!###ページをもう一つ作って対象を拾いなおすという少々力技はどうでしょうか。tmp_a.php echo(file_get_contents("target.php"));tmp_b.php $n=file_get_contents("testa.php"); if(!$n){ print("空っぽだよー"); }else{ print("あるよー"); }「表示されない」理由と、拾おうとするページサイズにもよるかとはおもいますが。ナイス0

 

TAG