この記事の内容は、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('Content-type:text/html; charset=utf-8'); //声明编码 $ch = curl_init(); $url = 'https://xxx.com/api/mobile/auto_upload.php?uid=9705459'; //post数据,使用@符号,curl就会认为是有文件上传 $curlPost = array('Filedata'=>'@/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 サイトの他の関連記事を参照してください。