2010-09-14 90 views
0
$ch = curl_init(); 
$data = array('name' => 'img', 'file' => $_FILES["img"]["tmp_name"].".png"); 
curl_setopt($ch, CURLOPT_URL, 'http://www.postto.me/upload.php'); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 
echo $response; 

並獲得回覆?如何使用curl和php將文件上傳到另一個?

+0

你可以精心設計一下嗎?你有什麼問題? – Ikke 2010-09-14 11:27:02

+0

自欺欺人? http://stackoverflow.com/questions/3706311/how-to-send-upload-file-to-other-website-by-using-curl-in-php – fabrik 2010-09-14 11:34:28

+0

任何人都可以做到這一點? – 2010-09-14 11:41:58

回答

2

sender.php

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
// true to return the transfer as a string of the return value 
// of 'curl_exec' instead of outputting it directly 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)"); 
curl_setopt($ch, CURLOPT_URL, 'http://localhost/test/curl/receiver.php'); 
curl_setopt($ch, CURLOPT_POST, true); 
$post = array(
    'euro' => '@eurodance.pls', 
    'flush' => '@flush_next.png', 
    'first_name' => 'Vadim' 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$response = curl_exec($ch); 
print_r($response); 

receiver.php

if(isset($_FILES)){ 
    $temp_file_name = $_FILES['euro']['tmp_name']; 
    $original_file_name = $_FILES['euro']['name']; 

    // Find file extention 
    $ext = explode ('.', $original_file_name); 
    $ext = $ext [count ($ext) - 1]; 

    // Remove the extention from the original file name 
    $file_name = str_replace ($ext, '', $original_file_name); 

    $new_name = '_'.$file_name . $ext; 
//echo $file_name ." ". $ext; 

    if (move_uploaded_file ($temp_file_name, $new_name)) { 
     echo "success"; 
    } else { 
     echo "error"; 
    } 

} 
if(isset($_FILES)){ 
    $temp_file_name = $_FILES['flush']['tmp_name']; 
    $original_file_name = $_FILES['flush']['name']; 

    // Find file extention 
    $ext = explode ('.', $original_file_name); 
    $ext = $ext [count ($ext) - 1]; 

    // Remove the extention from the original file name 
    $file_name = str_replace ($ext, '', $original_file_name); 

    $new_name = '_'.$file_name . $ext; 
//echo $file_name ." ". $ext; 

    if (move_uploaded_file ($temp_file_name, $new_name)) { 
     echo "success"; 
    } else { 
     echo "error"; 
    } 

} 

正如你可以看到這種支持多文件上傳。

相關問題