fsockopenを二回分送れない【再編集1回目】 - PHPプロ!Q&A掲示板
2491
- 0P
- 0P
fsockopenを二回分送れない【再編集1回目】
質問日時 / 2010年1月29日 22:14 (最終編集:1月30日 17:00) 回答数 / 5件
Questioner: chiebukurophp4
Tweet
キーワード / キーワードが設定されていません
参考サイトを元にコードを作成してみました。
http://mrank.tv/u/regist.php?id=touroku
http://mrank.tv/u/regist.php?id=touroku1
の二つに同時登録する処理です。
一つに登録する処理は成功したのですが、それを二つの処理を簡略化した上で同時に出来るように書いてみたのですが、一つしか登録出来ずに困っております。
下記のコードをどのようにすれば解消出来ますでしょうか??
書いてみたもののいまいちforeachの部分がよくわかりません。
初歩的な質問で申し訳ございません。
宜しくお願い申し上げます。
- $host = "mrank.tv";
- $post = "u/submit.php";
- $array = array(touroku,touroku1);
- $sock = fsockopen("$host", 80, $errno, $errstr, 30);
- if (!$sock) die("$errstr ($errno)\n");
- foreach ($array as &$data) {
- $data = "Pid=5555&Password=1111&Title=a&URL=http://goo999.com/&Comment=an&Email=testtestesttesttest@docomo.ne.jp&CF_AlertMail=1&id=$data";
- fputs($sock, "POST /$post HTTP/1.0\r\n");
- fputs($sock, "Host: $host\r\n");
- fputs($sock, "Content-type: application/x-www-form-urlencoded\r\n");
- fputs($sock, "Content-length: " . strlen($data) . "\r\n");
- fputs($sock, "Accept: */*\r\n");
- fputs($sock, "\r\n");
- fputs($sock, "$data\r\n");
- fputs($sock, "\r\n");
- $headers = "";
- while ($str = trim(fgets($sock, 4096)))
- $headers .= "$str\n";
- $body = "";
- while (!feof($sock))
- $body .= fgets($sock, 4096);
- }
- echo<<<EOM
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
- <title>登録</title>
- </head>
- <body>
- 登録完了
- </body>
- </html>
- EOM;
- fclose($sock);
ご回答ありがとうございます。
コードを修正させて頂きました。
繰り返しの部分を教えて頂けますと幸いです。
宜しくお願い申し上げます。
$data = "Pid=5555&Password=1111&Title=a&URL=http://goo999.com/&Comment=an&Email=testtestesttesttest@docomo.ne.jp&CF_AlertMail=1&id=$data";
でそれぞれの値を挿入する事までは、出来たのですが、肝心の同時送信が出来ないのが難点です。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。





ページのトップへ


kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。