PHPこんにちは、さるまりんです。前回、file_get_contents()でPOSTする方法について書かせてもらいました。今回はcurlを使った方法です。curlでPOSTするcurlを使ってサーバーにデータをPOSTするには以下のようにします。$dataに送るデータを詰めます。リソースを閉じるcurl_close($ch);コードを簡単に説明しますね。$urlは送信先のURLです。$dataの配列に送信するデータを詰めます。http_build_query()で送信データをURLエンコード。ここまではfile_get_contents()を用いた時と同じです。ここからcurlを使います。流れはcurl_init()で初期化curl_setopt()でURLやオプションを設定curl_exec()で実行curl_close()でリソースを閉じ終了です。curl_setopt()では、順番にCURLOPT_URLで送信先URLを、CURLOPT_POSTで「POSTします」ということを、CURLOPT_POSTFIELDSで送信データを。CURLOPT_RETURNTRANSFERにはtrueを設定し実行結果を文字列で取得します。他にもたくさんのオプションがあり、例えばCURLOPT_SSL_VERIFYPEERにfalseを設定すると、実行時にcurlはサーバ証明書の検証を行いません。オレオレ証明書を用いるサーバーへアクセスする際はそのようにします。たくさんのオプションが存在するのでそちらはぜひ本家のcurl_setopt()のページを参照してみてください。curl_setopt()の代わりにcurl_setopt_array()で配列を使って複数のオプションを設定することもできます。上のコードは次のように書くことができます。$options);たくさん設定するオプションがあるときはこちらの方がシンプルに見えるかな。file_get_contents()、curl、違いは?file_get_contents()とcurlを使う方法はどう違うの?となりますよね。curlの方は上にもあったようにたくさんの設定をcurl_setopt()で簡単に指定することができます。タイムアウトのCURLOPT_TIMEOUTで設定するだけです。簡単なケースではfile_get_contents()でいいかと思いますが、curlを使うことの方が多いように思います。他にも違いはたくさんあるかもしれないですがこの点が一番大きいかなと。一つのことをするのにいろんな方法があります。プログラミングって言語や文化なんだなあと思います。そんな大げさなことではないのかもしれないですが。良い方法や美しい書き方を目指して頑張ります。おかしなところとかよかったら指摘してもらえると嬉しいです。読んでくださってありがとうございます。さるまりん関連記事PHPでリダイレクトする方法こんにちは、さるまりんです。大きめのプログラムを書いているんですが、その中でハマったことがあったので、戒めもかねてメモさせて...記事を読むPHPのprivateな変数の中身が見えるよ!こんにちは、さるまりんです。これいいの?って驚いたので残しておきますね。PHPでclassを作成。そのprivate変数にア...記事を読むPHPで正しい日付チェックこんにちは、さるまりんです。プログラムを書くとき入力値の有効性チェックをします。今回はPHPでの日付チェックについてです。str...記事を読むコマンドプロンプトでちょっとしたphpを実行する方法こんにちは、さるまりんです。日付の...記事を読むPHP:split()が廃止になりました。こんにちは、さるまりんです。PHP7で関数split()が廃止されました。古いプログラムが残っていてたまたま動作させた...記事を読むfile_get_contentsで証明書エラーを無視する方法こんにちは、さるまりんです。PHPのfile_get_contentsで別サーバーにあるファイルをダウンロードするプログラムを書いて...記事を読むPHPで月末日を取得する方法こんにちは、さるまりんです。PHPで月末と月初をどうやって取得しようかを考えていました。7.2にアップグレードする時にやったことこんにちは、さるまりんです。5.6のセキュリティサポートがこの年末、2018年12月31日で終わります。このタイミン...記事を読むPHPで文字列が別の文字列で始まるかってどうやって調べるの?こんにちは、さるまりんです。今日はプログラミングのお話です。プログラミング言語って隅々まで覚えているエンジニアの方もいらっし...記事を読むPHP:file_get_contentsでBasic認証するこんにちは、さるまりんです。Basic認証が必要な場所からデータを取得する機会がありました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。さるまりんのガレージ.。