使用CURL模擬表單上傳檔案
有時需要使用PHP程式上傳檔案,其實使用PHP上傳檔案有多種方式,如果能完全模擬出HTML表單的效果這樣伺服器端就不用做任何程式碼的改動了,使用CURL完全可以實現,在PHP5.5之前使用的方式和PHP7.x、PHP5.6x中使用了新的方式,下面是程式碼示例:
$path='';//檔案路徑
if (class_exists('\CURLFile')) {
// > PHP5.6
$file = new \CURLFile($path,''application/octet-stream'');
} else {
// < PHP5.6
$file = "@".realpath ($path );
}
//$file = new CURLFile('./127.zip','application/octet-stream');
$file->setMimeType('application/octet-stream');//可以重新設定檔案的mime型別
//或者使用下面過程化的寫法
//$file = curl_file_create('','application/octet-stream');
$postfields = [
'user' => 'admin',
'pass' => '123456',
'file' => $file
];
$url = '伺服器地址';
//----------------------------
$ch = curl_init();
$params[CURLOPT_URL] = $url; //請求url地址
$params[CURLOPT_HEADER] = true; //是否返回響應頭資訊
$params[CURLOPT_RETURNTRANSFER] = true; //是否將結果返回
$params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
$params[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1' ;
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] = $postfields;
curl_setopt_array($ch, $params); //傳入curl引數
$content = curl_exec($ch); //執行
echo $content; //輸出登入結果
curl_close($ch); //關閉連線
相關推薦
使用CURL模擬表單上傳檔案
有時需要使用PHP程式上傳檔案,其實使用PHP上傳檔案有多種方式,如果能完全模擬出HTML表單的效果這樣伺服器端就不用做任何程式碼的改動了,使用CURL完全可以實現,在PHP5.5之前使用的方式和PHP7.x、PHP5.6x中使用了新的方式,下面是程式碼示例:
curl post表單上傳檔案(C++)
最近測試如何上傳檔案到伺服器。原來傳照片一致通過binary 形式傳檔案,或者把圖片base64編碼傳圖片。一致沒有用form-data 表單形式傳送資料,今天嘗試下如何使用libcurl提供的API上傳檔案。 Sample code: #include <
使用httpclient模擬表單上傳檔案,後臺用struts2接收
本人是使用java,開發android後臺的,公司要求使用SSM框架,有一個功能要求是實現android大檔案的上傳。開發人員都是新手,以前沒有開發經驗,鼓搗了好久,也嘗試了兩個android框架,Xutils貌似跟struts2不太好整合,而AsyncHttpClient
QT模擬表單上傳檔案到微信伺服器
最近做微信開發,需要上傳素材到微信伺服器,我就用qt寫了一個介面上傳素材,首先我們來看下最終的介面: 然後將裡面的access_token後面的lineEdit命名為:accessMediaEdit,type後面的ComboBox命名為typeComboB
java模擬表單上傳檔案,java通過模擬post方式提交表單實現圖片上傳功能例項
package com.zdz.httpclient;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.
PHP:curl模擬form表單上傳檔案
<form action="" method="post" enctype="multipart/form-data"> <input type="file" name="upload"> <buttion>submit</button> </f
PHP使用CURL向Python,Golang傳送檔案表單上傳檔案[HTTP協議下Api]
PHP傳送方程式碼段: <?php /** * htppCurl表單上傳檔案 * @param $file FILE_ADDR * @param string $url uri * @param string $key key * @return bool|mixed *
HttpClien實現使用post方式模擬表單上傳大檔案和字元引數
前提:自行準備好httpmime.jar /** * HttpClien實現模擬表單post提交檔案資料和字元引數,並支援大檔案上傳 * @author dance * */ public class HttpClientUploadManager { pub
form表單上傳檔案
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
ajax上傳檔案 基於jquery form表單上傳檔案
<script src="/static/js/jquery.js"></script><script> $("#reg-btn").click(function () { // 1. 取到使用者填寫的資料 var for
EXT.JS2.2表單上傳檔案
var uploadFile = new Ext.form.TextField({ fieldLabel: '上傳檔案', id:'file', name: 'uploadFile', height
七牛ajax模擬表單上傳圖片
<form method="post" action="http://up-z2.qiniup.com/" enctype="multipart/form-data"> <input name="token" type="hidden" id="qiniu_t
django 基於form表單上傳檔案和基於ajax上傳檔案
一、基於form表單上傳檔案 1、html裡是有一個input type="file" 和 ‘submit’的標籤 2、vies.py def fileupload(request): if request.method == 'POST': print(request.P
ajax實現上傳檔案和form表單上傳檔案的區別
在使用form表單的時候,一旦點選提交觸發submit事件,一般會使得頁面跳轉,頁面間的跳轉等行為的控制權往往在後端,後端會控制頁面的跳轉及資料傳遞,但是在某些時候不希望頁面跳轉,或者說想要將控制權放在前端,通過js來操作頁面的跳轉或者資料變化。 一般這種非同步的操作,我們
form表單上傳檔案三要素
1.提供form表單,method必須是post 2.form表單的enctype必須是multipart/form-data 3.提供input type="file"類的上傳輸入域 <div> <form action="${ctx}/easyedu/sta
IE相容筆記(一):相容IE9表單上傳檔案
幾年前做相容IE8的pc端專案的時候就遇到檔案上傳的需求,當時也是檢視文件來解決IE9以下不支援formData的問題。由於之前沒有寫部落格的習慣,最近又遇到這樣的需求,所以寫出來想幫助需要用到的朋友。 本身檔案上傳不難,只需要注意一些細節: 用最初的表單提交的方式f
springmvc結合jquery.form.js非同步提交表單上傳檔案
需要 jquery.form.js 外掛 <script type="text/javascript" src="/libs/js/form/jquery.form.js"><
form表單上傳檔案返回資料
廢話不說,直接上程式碼 jsp: <div style="display:none"> <form id="viewImport" action="" enctype="multipart/form-data
WebAPI+Form表單上傳檔案
上傳的時候還是遇到一些問題的,在文章開頭羅列一下,希望幫到跟我遇到同樣問題的人問題一:GET 請求與POST請求起初我使用的是GET 請求,發現不行,後改為了POST,具體原因尚不明確,不過一般向伺服器傳送資料還是用POST吧,後來發現網上有使用GET方式上傳檔案的,但是貌似
HttpURLConnection 提交表單+ 上傳檔案
package com.customUpload.utils; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import ja