PHP は、curl を使用して、ブラウザーのフォームを通じてファイルや画像をアップロードする方法をシミュレートします。

不言
リリース: 2023-04-04 12:02:01
転載
4402 人が閲覧しました

この記事の内容は、PHP がファイルや画像をアップロードする際にブラウザのフォームをシミュレートするためにどのようにカールを使用するかについてです。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

はじめに

ブラウザの HTML の入力ボックスを使用してファイルをアップロードできます。form 要素は コントロールを選択します。フォーム フォームは設定する必要があります。 enctype= "multipart/form-data" 属性。例:

<body>

   <form action="UploadFile.php" method="post" enctype="multipart/form-data">

   <input type="file" name="fileUpload" />

   <input type="submit" value="上传文件" />

   </form>

</body>
ログイン後にコピー

フロントエンドでブラウザを使用してファイルをアップロードするのではなく、バックグラウンドで直接ファイルをアップロードする必要がある場合が常にあります。現時点では、PHP のcurlはファイルを直接アップロードするためのいくつかのパラメータを提供します。 PHP バックグラウンドを介して。

php は、curl を使用してファイルのアップロードをシミュレートします

curl がファイルをアップロードするとき、最も重要なことは、「@」記号の適用です。@ 記号を追加すると、curl になります。ファイルのアップロードとして扱います。

具体的なコード例:

<?php
   header(&#39;Content-type:text/html; charset=utf-8&#39;);  //声明编码
   $ch = curl_init();
   $url = &#39;https://xxx.com/api/mobile/auto_upload.php?uid=9705459&#39;;
   
   //post数据,使用@符号,curl就会认为是有文件上传
   $curlPost = array(&#39;Filedata&#39;=>'@/Users/finup/Documents/11.png');
   
   
   curl_setopt($ch, CURLOPT_URL, $url);
   curl_setopt($ch, CURLOPT_HEADER, 1);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_POST, 1); //POST提交
   curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);
   $data =curl_exec($ch);
   curl_close($ch);
   echo '<pre class="brush:php;toolbar:false">';
   var_dump($data);
ログイン後にコピー

上記のコード例の URL は、ファイルのアップロードを処理するための特定のインターフェイスです。$_FILES を直接使用して、アップロードされた一時ファイルに関する情報を取得し、$ を出力できます。 _FILES 以下のように、パラメータを渡すときに配列キー「Filedata」名を自分で指定できます:

Array
(
   [Filedata] => Array
       (
           [name] => 11.png
           [type] => application/octet-stream
           [tmp_name] => /private/var/tmp/php936cex
           [error] => 0
           [size] => 36663
       )

)
ログイン後にコピー


以上がPHP は、curl を使用して、ブラウザーのフォームを通じてファイルや画像をアップロードする方法をシミュレートします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート