カールコマンドはフォームアップロードファイルをシミュレートします
リリース: 2016-07-25 08:51:21
-
-
//初期化 - $ch =curl_init();
//アップロードするローカルファイルアドレス"@F:/xampp /php/php.ini" アップロードするときは、アップロード パスの前に @ 記号が必要です
- $furl = "@F:/xampp/php/php.ini";
- $post_data = array (
- "upload" => $furl
- );
//CURLOPT_URL はどこを参照していますか?形式
- $url = "http://localhost/test/curl/curl_post.php";
//変数の設定
- curl_setopt($) の「action」で指定されたパスと同等ch , CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//実行結果が返されるか、0が返されるか、1が返されないか
- curl_setopt($ch, CURLOPT_HEADER, 0);//パラメータ設定、ヘッダー情報を表示するかどうか、1 は表示、0 は表示しない
//偽のWebページのソースアドレス、Baiduからの偽のフォーム送信
- curl_setopt($ch, CURLOPT_REFERER, "http: // www.baidu.com");
//フォーム データ、通常のフォーム設定値は 0 以外です
- curl_setopt($ch, CURLOPT_POST, 1);
- < ;p>curl_setopt($ch, CURLOPT_TIMEOUT, 1);//curl 実行タイムアウトの最大値を設定します
//ポスト データを提供するために配列を使用する場合、CURL コンポーネントはおそらく互換性のためのものです。 @filename を使用してアップロードされたファイルを記述するこの方法では、
- //デフォルトの content_type は multipart/form-data に設定されます。ほとんどの Web サーバーには影響しませんが、少数のサーバーには互換性がないものもあります。この記事で導き出された結論は、ファイルをアップロードする必要がない場合は、投稿によって送信されたデータに対して http_build_query を実行してから送信することで、互換性が向上し、リクエスト データ パケットが小さくなるということです。
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//実行して結果を取得します
- $output =curl_exec($ch);
- if($outopt === FALSE)
- {
- echo "
","cUrl Error:".curl_error($ch);
- }
- // cURL ハンドルを解放します
- curl_close($ch);
- ?>
-
-
-
コードをコピー
ファイル 2:curl_post.php
echo ""; - var_dump($_FILES);
- ?>
-
-
コードをコピー
結果は次のとおりです。
array(1) {- ["upload"]=>
- array(5) {
- ["name"]=>
- string(7) "php.ini"
- ["type" ]=>
- string(24) "application/octet-stream"
- ["tmp_name"]=>
- string(24) "F:xampptmpphpB2D1.tmp"
- ["error"]=>
- int(0 )
- ["サイズ"]=>
- int(46217)
- }
- }
-
-
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31