水曜以外もどうでしょう

北海道発。食べ歩きの記録グルメ情報や北海道の見どころなどをメモ替わりに書いています。

PREV | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
応援宜しくお願いします。ポチ↓↓
fC2ブログランキング にほんブログ村 グルメブログ 北海道食べ歩きへ 人気ブログランキングへ


| スポンサー広告 | --:-- | comments(-)| trackbacks(-)| TOP↑

≫ EDIT

phpから直接post送信

submit等のボタンをつけてpostするのはいいが、処理を自動化したくて、ボタンを押さずにpostできないか調べてみたら、あった。

自分メモで。

参考ページ

PHPプロ
http://www.phppro.jp/news/228

コードを引用。

function do_post_request($url, $data, $optional_headers = null) 
  { 
     $params = array('http' => array(  
                  'method' => 'POST',  
                  'content' => $data  
               ));  
     if ($optional_headers !== null) { 
        $params['http']['header'] = $optional_headers;  
     } 
     $ctx = stream_context_create($params); 
     $fp = @fopen($url, 'rb', false, $ctx);  
     if (!$fp) { 
        throw new Exception("Problem with $url, $php_errormsg"); 
     } 
     $response = @stream_get_contents($fp); 
     if ($response === false) { 
        throw new Exception("Problem reading data from $url, 
        $php_errormsg"); 
     } 
     return $response; 
  }



呼び出し側

$data = http_build_query(array('id' => 'x'));
$url = "http://www.examples.com/index.php";
echo do_post_request( $url, $data );



呼び出し側の$urlを相対にしていてちょっとはまった。
自サイトへのポストなんで、ファイル名しか書いていなかったら例外が起きた。
httpから書いて解決。

この方法の難点(といっても仕様)は、POSTした後のブラウザのアドレスバーのURLが変わらないこと。
POSTした先のURLではなく、POST前のURLになったままという不思議な感じ。

やりたい事が一応できたが、あらためて、POSTでなくGETでいいのではと検討中。




スポンサーサイト
応援宜しくお願いします。ポチ↓↓
fC2ブログランキング にほんブログ村 グルメブログ 北海道食べ歩きへ 人気ブログランキングへ


| php | 14:31 | comments:0| trackbacks:0| TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://vmemo.blog36.fc2.com/tb.php/304-e9dc1129

TRACKBACK

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。