ホームページ > バックエンド開発 > PHPチュートリアル > カールコマンドはフォームアップロードファイルをシミュレートします

カールコマンドはフォームアップロードファイルをシミュレートします

WBOY
リリース: 2016-07-25 08:51:21
オリジナル
1365 人が閲覧しました
  1. //初期化

  2. $ch =curl_init();

  3. //アップロードするローカルファイルアドレス"@F:/xampp /php/php.ini" アップロードするときは、アップロード パスの前に @ 記号が必要です

  4. $furl = "@F:/xampp/php/php.ini";
  5. $post_data = array (
  6. "upload" => $furl
  7. );

  8. //CURLOPT_URL はどこを参照していますか?形式

  9. $url = "http://localhost/test/curl/curl_post.php";

  10. //変数の設定

  11. curl_setopt($) の「action」で指定されたパスと同等ch , CURLOPT_URL, $url);
  12. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//実行結果が返されるか、0が返されるか、1が返されないか
  13. curl_setopt($ch, CURLOPT_HEADER, 0);//パラメータ設定、ヘッダー情報を表示するかどうか、1 は表示、0 は表示しない

  14. //偽のWebページのソースアドレス、Baiduからの偽のフォーム送信

  15. curl_setopt($ch, CURLOPT_REFERER, "http: // www.baidu.com");

  16. //フォーム データ、通常のフォーム設定値は 0 以外です

  17. curl_setopt($ch, CURLOPT_POST, 1);

  18. < ;p>curl_setopt($ch, CURLOPT_TIMEOUT, 1);//curl 実行タイムアウトの最大値を設定します

  19. //ポスト データを提供するために配列を使用する場合、CURL コンポーネントはおそらく互換性のためのものです。 @filename を使用してアップロードされたファイルを記述するこの方法では、

  20. //デフォルトの content_type は multipart/form-data に設定されます。ほとんどの Web サーバーには影響しませんが、少数のサーバーには互換性がないものもあります。この記事で導き出された結論は、ファイルをアップロードする必要がない場合は、投稿によって送信されたデータに対して http_build_query を実行してから送信することで、互換性が向上し、リクエスト データ パケットが小さくなるということです。
  21. curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

  22. //実行して結果を取得します

  23. $output =curl_exec($ch);
  24. if($outopt === FALSE)
  25. {
  26. echo "
    ","cUrl Error:".curl_error($ch);
  27. }
  28. // cURL ハンドルを解放します
  29. curl_close($ch);
  30. ?>

コードをコピー
ファイル 2:curl_post.php

    echo "
    ";
  1. var_dump($_FILES);
  2. ?>
コードをコピー
結果は次のとおりです。

    array(1) {
  1. ["upload"]=>
  2. array(5) {
  3. ["name"]=>
  4. string(7) "php.ini"
  5. ["type" ]=>
  6. string(24) "application/octet-stream"
  7. ["tmp_name"]=>
  8. string(24) "F:xampptmpphpB2D1.tmp"
  9. ["error"]=>
  10. int(0 )
  11. ["サイズ"]=>
  12. int(46217)
  13. }
  14. }
コードをコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート