phpのfsockopen関数の戻り値について教えてください
以下のコードについて教えてください。 fsockopen 接続が成功したかどうかを確認するにはどうすればよいですか?
fwrite が失敗すると、私のスペースに大量のエラー メッセージが生成されるためです
PHP 警告: fwrite(): 指定された引数は /home2/
の有効なストリーム リソースではありませんfwriteの誤実行を避けるためにfsockopenが失敗した場合に判定を加えてスキップしたい
皆さんありがとうございます! 助けてください
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ( $errno)
n";
} else {
$out = "GET / HTTP/1.1rn";
$out .= "ホスト: www.example.comrn";
$out .= "接続: Closernrn";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets( $fp, 128);
}
fclose($fp);
-----解決策------- ------------コードに問題はありません。これは PHP 公式 Web サイトからの例です。コードを投稿したほうがいいでしょう。
また、これを試すこともできます。 if(get_resource_type($fp) == 'stream') fwrite($fp, $out);
------解決策---------あなたはここで判断していません。 exit
if (!$fp) {
echo "$errstr ($errno)
n";
exit;
} else {
を追加するだけです。 >....
------解決策----------------------while((!ereg('200 OK' , $banreturn)) && (!ereg('302 Found', $banreturn)) && ($attemp<2)) {
$connection = fsockopen($hostname, $port, $errno, $errstr, $timeout ) ;
stream_set_timeout($connection, 5);
fwrite($connection,$headers); // ここでエラー レコードが生成されますが、毎回ではありません
最初に書き込みを確認して開いてみてはいかがでしょうか成功したら?