2012-12-03 36 views
0

我用cURL發送了一些文章數據,現在正在嘗試發送一個文件,一路上迷路了。我正在使用帶有文件輸入的表單。然後希望cURL將它發送到我的服務器。這是我的上傳頁面。 <form action="curl_page.php" method="post" enctype="multipart/form-data"> Filename: <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form>用cURL發送文件

這是我的卷頁有一些問題。

我服務器上的file_catch.php看起來像這樣。

<?php 
$folder = "audio/"; 

$path = $folder . basename($_FILES['file']['name']); 

if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) { 
    echo "The file ". basename($_FILES['file']['name']). " has been uploaded"; 
} else{ 
    echo "There was an error uploading the file, please try again!"; 
} 
?> 

感謝您的幫助!

+0

提供更多信息。允許錯誤,顯示捲曲錯誤功能痕跡,完整reqeust痕跡,您的目標頁面得到 – Ranty

+0

不知道該怎麼做。僅僅看代碼,是否有明顯的錯誤? – Milksnake12

+0

錯誤'error_reporting(E_ALL); ini_set('display_errors','On');'在每個腳本的開始處;捲曲錯誤'echo curl_error($ curl)。 ':'。 curl_errno($ curl);'在'curl_exec'之後但在'curl_close'之前';你也可能想看到'print_r($ _ POST); print_r($ _ FILES);'在第二個腳本中。 – Ranty

回答

1

您未發送通過發佈請求獲得的文件。使用下面的代碼通過CURL請求發佈文件。

$tmpfile = $_FILES['image']['tmp_name']; 
$filename = basename($_FILES['image']['name']); 

$data = array(
    'uploaded_file' => '@'.$tmpfile.';filename='.$filename, 
); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
// set your other cURL options here (url, etc.) 

curl_exec($ch); 

對於多個參考檢查下面的鏈接 Send file via cURL from form POST in PHP

+0

我將我的代碼更改爲您所說的內容並編輯了我上面的帖子。文件仍然沒有通過服務器。 – Milksnake12