2009-12-07 42 views
1

在我的網站上,我有一個.php腳本,我們的客戶可以發佈訂單。將文件發佈到Oracle的.php頁面

$destname = CreateUniqueOrderFileName(); 
    if (is_uploaded_file($_FILES['file']['tmp_name'])) { 
    if (move_uploaded_file($_FILES['file']['tmp_name'], $destname))   
     echo "OK"; 
    else 
     echo "ERROR: move";     
    } 

所以我的客戶我在C#寫了一個程序,如果我上傳的訂單我做這樣的事情:

var client = new WebClient(); 
byte[] response = client.UploadFile("http://mywebsite/order.php", "POST", orderFile); 

但現在我有誰使用Oracle和希望發佈一個客戶使用PL/SQL進行訂單。 我試着告訴他,他必須通過HTTP POST上傳文件並使用multipart/form-data,但他不理解我。也許我正在使用錯誤的詞彙或不使用標準。

那麼有人有一個例子,如何將文件發佈到PL/SQL中的.php腳本或建議哪裏可以找到更多信息上傳文件到Oracle客戶端的.php網頁。

回答

0

我們能找到一種方法做根據RFC2388使用Content-Type multipart/form-data的POST請求。所以我將.php腳本改成了這樣的東西。

$fp = fopen('php://input','r'); 
    $content = stream_get_contents($fp); 
    $destname = CreateUniqueOrderFileName(); 
    $isWritten = @file_put_contents($destname, $content); 
    if($isWritten===false) 
    { 
    echo "ERROR: could not write file: ".$destname;  
    return;     
    } 

使用此我們可以使用UTL_HTTP庫發佈訂單來執行HTTP POST。

+0

Downvoting,因爲這不能回答原始問題(使用多部分/表單數據內容類型通過HTTP POST使用PL/SQL從Oracle上傳的文件)。 –