php使用curl模擬瀏覽器表單上傳文件或者圖片的方法
前言
在瀏覽器使用html中的input框我們可以實(shí)現(xiàn)文件的上傳,表單元素選用 <input type="file"> 控件,form 表單需要設(shè)置 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>
總有一些時(shí)候,我們需要在后臺(tái)直接上傳文件而不是用瀏覽器進(jìn)行前端上傳,這時(shí)候php的curl就提供了一些參數(shù)可以實(shí)現(xiàn)直接通過(guò)php后臺(tái)上傳文件。
php使用curl模擬上傳文件
curl上傳文件的時(shí)候,最重要的是一個(gè)“ @”符號(hào)的應(yīng)用,加@符號(hào)curl就會(huì)把它當(dāng)成是文件上傳處理。
具體代碼實(shí)例:
<?php header('Content-type:text/html; charset=utf-8'); //聲明編碼 $ch = curl_init(); $url = 'https://xxx.com/api/mobile/auto_upload.php?uid=9705459'; //post數(shù)據(jù),使用@符號(hào),curl就會(huì)認(rèn)為是有文件上傳 $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>'; var_dump($data);
上述代碼實(shí)例中的url是處理文件上傳的具體的接口,可以直接使用$_FILES來(lái)獲取上傳的臨時(shí)文件相關(guān)信息,打印出$_FILES如下,其中數(shù)組的鍵“Filedata”名可以在傳遞參數(shù)的時(shí)候自己指定:
Array ( [Filedata] => Array ( [name] => 11.png [type] => application/octet-stream [tmp_name] => /private/var/tmp/php936cex [error] => 0 [size] => 36663 ) )
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- ThinkPHP5+UEditor圖片上傳到阿里云對(duì)象存儲(chǔ)OSS功能示例
- Thinkphp整合阿里云OSS圖片上傳實(shí)例代碼
- ThinkPHP 3使用OSS的方法
- thinkPHP簡(jiǎn)單導(dǎo)入和使用阿里云OSSsdk的方法
- php版阿里云OSS圖片上傳類詳解
- php下通過(guò)curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼
- php中上傳文件的的解決方案
- PHP上傳文件及圖片到七牛的方法
- PHP+Ajax實(shí)現(xiàn)上傳文件進(jìn)度條動(dòng)態(tài)顯示進(jìn)度功能
- PHP實(shí)現(xiàn)通過(guò)CURL上傳文件功能示例
- php實(shí)現(xiàn)表單提交上傳文件功能
- 詳解PHP使用OSS上傳文件
相關(guān)文章
Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例(附demo源碼下載)
這篇文章主要介紹了Zend Framework入門之環(huán)境配置及第一個(gè)Hello World示例,詳細(xì)講述了Zend Framework環(huán)境搭建與配置,以及實(shí)現(xiàn)第一個(gè)Hello World程序的方法,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-03-03ThinkPHP模板判斷輸出Defined標(biāo)簽用法詳解
這篇文章主要介紹了ThinkPHP模板判斷輸出Defined標(biāo)簽用法詳解,需要的朋友可以參考下2014-06-06PHP通用分頁(yè)類page.php[仿google分頁(yè)]
PHP通用分頁(yè)類。本代碼是用于分頁(yè)用的,稍做修改可用于各種程序。 使用方式請(qǐng)參考本人文章。2008-08-08ThinkPHP快速入門實(shí)例教程之?dāng)?shù)據(jù)分頁(yè)
這篇文章主要介紹了ThinkPHP快速入門實(shí)例教程的數(shù)據(jù)分頁(yè)實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下2014-07-07CodeIgniter框架數(shù)據(jù)庫(kù)基本操作示例
這篇文章主要介紹了CodeIgniter框架數(shù)據(jù)庫(kù)基本操作,結(jié)合實(shí)例形式分析了CodeIgniter框架針對(duì)mysql數(shù)據(jù)庫(kù)的配置、用戶注冊(cè)、信息查詢、修改及刪除等基本操作技巧,需要的朋友可以參考下2018-05-05Zend Framework教程之MVC框架的Controller用法分析
這篇文章主要介紹了Zend Framework教程之MVC框架的Controller用法,簡(jiǎn)單分析了MVC框架的基本結(jié)構(gòu)與Controller控制器的簡(jiǎn)單使用方法,需要的朋友可以參考下2016-03-03