當前位置:首頁 » 文件傳輸 » curl上傳文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

curl上傳文件

發布時間: 2022-01-30 00:02:09

『壹』 PHP curl 上傳大文件非常大慢,導致超時,小文件(10M以下)的還可以,請問如何解決啊!

修改超時限制:
ini_set('max_execution_time','0');

『貳』 php curl 上傳多文件,怎麼弄

下面是一段示例代碼:

<?php
//註:PHP5.5.0起,文件上傳建議使用CURLFile代替@
//多文件上傳
$data=array(
'input_file[0]'=>newCURLFile('d:/1.txt','text/plain','testfile.txt'),
'input_file[1]'=>newCURLFile('d:/2.txt','text/plain'),
'input_file[2]'=>newCURLFile('d:/3.txt','text/plain'),
);
$ch=curl_init('http://demo.zjmainstay.cn/php/curl/curlUploadHandler.php');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_exec($ch);

如果你的版本比較低,文件部分使用:

'input_file[0]'=>'@d:/1.txt',

這樣既可。


我的博客《PHP cURL實現模擬登錄與採集使用方法詳解》對各類curl問題做了系統而詳細的講解,請參考「十、模擬上傳文件」部分查看更多文件上傳內容,如直接基於採集的文件內容進行上傳等。

『叄』 怎麼通過curl命令上傳文件到OSS

python SDK中帶了一個osscmd腳本,實現了大部分的OSS對外提供的介面功能,肯定比curl來得簡單。

比如上傳一個文件:
python osscmd put /your-file-path oss://你的bucket名字/

還支持上傳目錄,同時支持指定多個線程同時上傳
python
osscmd uploadfromdir localdir oss://bucket/[prefix]
--check_point=check_point_file --replace=false --check_md5=false
--thread_num=5

如果用命令行的話,oss python sdk帶的osscmd絕對是個好東東。

『肆』 如何用curl命令上傳文件到制定的目錄

把臨時目錄下的文件移動到目標上傳目錄
move_uploaded_file($file['tmp_name'], $filename)

『伍』 如何使用ftp用curl命令上傳文件

使用ftp用curl命令上傳文件方法:
第一種:

server端有現成的ftpserver:

上傳的option是 -T
比如我們向ftp傳一個文件: curl -T localfile -u name:passwd ftp://upload_site:port/path/
curl -T hadoop_oom.log -u user:1234567 ftp://1.1.1.1/

第二種:
nginx上傳: (需要加上--with-http_dav_mole模塊 )
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_mole --with-http_ssl_mole --with-http_dav_mole
make && make install

要創建上傳的臨時目錄
mkdir -p /dev/shm/client_body_temp
nginx http段加入:
client_body_temp_path /dev/shm/client_body_temp 1 2;
client_max_body_size 1024m; #這個根據實際的情況,如有大文件upload需要加大,不然nginx拋413 error

然後:
server
{
listen 80;
server_name 1.1.1.1;
index index.html index.htm index.php;
root html;
autoindex on;
dav_methods PUT; #這個是重點默認不允許PUT

測試:
curl -T hadoop_oom.log http://1.1.1.1/

安全注意事項:
一般需要單獨location一個目錄單獨做upload用。或者這個nginx只做upload上傳單一用途。
然後就是nginx allow了,一般機房都是內網打通的,只允許idc內網才能PUT。不然就能任意PUT到你的upload機器了。

『陸』 如何利用curl實現form表單提交 帶文件上傳

//上傳D盤下的test.jpg文件,文件必須存在,否則curl處理失敗且沒有任何提示
$data=array('name'=>'Foo','file'=>'@d:/test.jpg');
註:PHP5.5.0起,文件上傳建議使用CURLFile代替@

$ch=curl_init('http://localhost/upload.php');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_exec($ch);

更多內容請參考:http://www.zjmainstay.cn/php-curl#十模擬上傳文件

『柒』 怎麼在windows使用curl 命令進行上傳upload

linux curl是一個利用URL規則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱url為下載工具。
curl並不是雙擊即可運行,你需要在命令提示符下使用它
如何進入命令提示符
點擊「開始」——「運行」——輸入CMD
或,WIN+R,輸入CMD
下載我下載版本的CURL後,解壓後文件夾放在如:D:curl的文件夾里(curl路徑)
命令提示符窗口中輸入"d:"回車,然後輸入「cd curl」即可跳轉到curl文件夾,
至此可以輸入curl命令了(根據你的curl類推)或你也可以將curl加入到系統環境變數如何將curl所在文件夾加入系統變數
右鍵單擊「我的電腦」——「屬性」——「高級」——「環境變數」——
「系統變數」——「Path」——「編輯」——加入「;D:curl」(注意分號,
D:curl換成你的curl路徑)——「確定」加入到系統環境變數後可在命令提示符內直接運行如
「curl -O http://curl.haxx.se/download/curl-7.19.5-win32-ssl-sspi.zip」
這樣的命令,無需進入curl所在文件夾curl命令用法!
實例演示:
curl 是一般linux發行版中都帶有的小工具,利用這個工具可以很方便的下載文件,我一般使用這個工具來查看某個頁面相應的HTTP頭信息,在Windows系統中我們也一樣可以使用這個工具,如果不需要支持https的話,那直接下載一個可執行文件即可
這個頁面最底部有一個Windows下的下載鏈接,請選擇不帶SSL的版本,
否則還需要安裝SSL的支持包。
解壓後直接執行 curl.exe 即可(如不能直接運行,請使用cmd帶路徑執行curl.exe程序),如將改文件放入盤
C:curlcurl.exe.在cmd控制台為 C:curlcurl.exe --help
如果需要將cmd直接執行curl ,則可將curl.exe文件放入到C:WINDOWSsystem32目錄下。

『捌』 怎麼用python實現用curl命令來上傳本地文件到伺服器上而且上傳以後的路徑和文件名都被改了。希望詳細點

上傳就用pycurl,至於你說的上傳後路徑和文件名被改了那是服務端代碼,不知道你什麼意思?

『玖』 java里怎麼使用curl命令上傳文件

java中使用curl命令上傳文件的使用方式如下:

curl -F "filename=@/home/test/file.tar.gz" http://localhost/action.php

如果使用了-F參數,curl就會以 multipart/form-data 的方式發送POST請求。-F參數以name=value的方式來指定參數內容,如果值是一個文件,則需要以name=@file的方式來指定。如果通過代理,上面的命令有可能會被代理拒絕,這時需要指定上傳文件的MIME類型 curl -x myproxy.com:1080 -F "filename=@/home/test/file.tar.gz;type=application/octet-stream" http://localhost/action.php
另外,如果不上傳文件,則可以使用 -d 參數,這時curl會以application/x-www-url-encoded 方式發送 POST 請求。
url -d "action=del&name=archer" -d "id=12" http://localhost/action.php