1、使用 CURL 默認的方法
$file = realpath( gif/1.gif //要上傳的文件$fields[ f ] = @ .$file;$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, http://localhost/ajax_server.php?id=1 curl_setopt($ch, CURLOPT_POST, 1 );curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_exec ($ch); curl_close ($ch);
2、另類的做法,有時我們需要將動態產生的內容當做文件上傳到遠程服務器,卻又不想在本地服務器中構建臨時文件。這樣就有了這個另類的寫法
$contents = TEXT 數據報中應該是Content-Disposition: form-data; name= userfile filename= file_name Content-Type: 文檔類型這樣的格式,我只實現了文件名部分,文檔類型不知道如何實現。這樣上傳后就取不到 type 的值curl_upload_server.php xmp ?phpprint_r($_FILES);echo 文件內容:/n $p = html' target='_blank'>current($_FILES);readfile($p[ tmp_name TEXT;$fields[ f filename= x.x ] = $contents; //這個關聯鍵的寫法很怪異吧?$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, http://localhost/curl_upload_server.php curl_setopt($ch, CURLOPT_POST, 1 );curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$s = curl_exec ($ch); curl_close ($ch); echo $s;
$contents = TEXT 上傳文件在數據報中應該是Content-Disposition: form-data; name= userfile filename= file_name Content-Type: 文檔類型這樣的格式以下是服務器端代碼curl_upload_server.php xmp ?phpprint_r($_FILES); //檢查上傳信息echo 文件內容:/n $p = current($_FILES);readfile($p[ tmp_name //輸出上傳的文件TEXT;$varname = my $name = 3.txt $type = text/plain $key = $varname/ filename=/ $name/r/nContent-Type: $type/r/n $fields[$key] = $contents;$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, http://localhost/curl_upload_server.php curl_setopt($ch, CURLOPT_CUSTOMREQUEST, POST );curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$s = curl_exec ($ch); curl_close ($ch); echo $s;
本文講解了在 php 中通過 CURL 上傳文件相關內容請關注php 。
相關推薦:
簡易 PHP+MySQL 分頁類
兩個不用遞歸的樹形數組構造函數
HTML轉Excel,并實現打印,下載功能
以上就是在 php 中通過 CURL 上傳文件的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答