程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php curl 上傳文件代碼實例

php curl 上傳文件代碼實例

編輯:PHP綜合

假設server端上傳文件處理腳本upload.php:
復制代碼 代碼如下:
<?php 
 
print_r($_POST); 
print_r($_FILES); 

1、使用 CURL 默認的方法
復制代碼 代碼如下:
//如果php文件是utf8編碼,系統是GBK編碼,那麼就需要轉下編碼,要不然Php在系統中找不到這個文件   
$file = realpath(mb_convert_encoding('測試圖片.JPG','GBK','utf8')); 
 
$file = realpath('temp.jpg'); //要上傳的文件   
$fields['f'] = '@'.$file; // 前面加@符表示上傳圖片  
 
$ch =curl_init(); 
 
 
curl_setopt($ch,CURLOPT_URL,'http://localhost/upload.php'); 
 
curl_setopt($ch,CURLOPT_POST,true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
 
 
$content = curl_exec($ch); 
 
echo $content; 

2、另類的做法,有時我們需要將動態產生的內容當做文件上傳到遠程服務器,卻又不想在本地服務器中構建臨時文件。這樣就有了這個另類的寫法

復制代碼 代碼如下:
$contents =<<< 'TEXT' 
這裡是文件內容,也可以是圖片二進制,圖片需要修改上傳文件類型 
TEXT; 
 
$varname = 'my';//上傳到$_FILES數組中的 key 
$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/upload.php'); 
 
curl_setopt($ch,CURLOPT_POST,true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
 
 
$content = curl_exec($ch); 
 
echo $content; 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved