ホームページ > バックエンド開発 > PHPチュートリアル > phpのfsockopen関数の戻り値は何ですか?

phpのfsockopen関数の戻り値は何ですか?

WBOY
リリース: 2016-06-13 13:10:15
オリジナル
1091 人が閲覧しました

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); // ここでエラー レコードが生成されますが、毎回ではありません

最初に書き込みを確認して開いてみてはいかがでしょうか成功したら?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート