2012-10-03 169 views
0

我想遠程上傳我的文件到服務器接受上傳 使用捲曲,但沒有輸入完整的文件路徑每次使用「@」符號 我可以做一個瀏覽按鈕選擇文件然後進行卷曲上傳PHP捲曲上傳文件與文件瀏覽按鈕

這是我的代碼::

$post = array("file_box"=>"@/path/to/myfile.jpg"); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://remote-site"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$output = curl_exec($ch); 
curl_close($ch); 

return $output; 

只是想改變「@ /路徑/到/ myfile.jpg」通過瀏覽按鈕,通過它的價值PHP變量

我想改變s [[$ post = array(「file_box」=>「@/path/to/myfile.jpg」); ]

到類似的東西

[[$交=陣列( 「file_box」=> 「@」 $ variable_contains_file_path_from_browse_button。); ]]

,以避免上傳的臨時路徑的文件,以中間服務器(主機此腳本)剛剛從客戶端向遠程服務器直接

會有這種

感謝所有爲任何周圍的任何解決方案幫幫我。

回答

0

有在SO,與此

涉及的幾個問題,這裏有一些鏈接

uploading files using curl

Curl php file upload

而且也是谷歌的搜索策略是http://bit.ly/PMUf2b

但仍然因爲你要求從前面瀏覽按鈕上傳e第二,這裏是一套完整的與導師聯繫

沿着您可以在這裏跟隨導師同時具有前端和PHP代碼

upload using curl 這裏是PHP代碼

$request_url = ‘http://www.example.com/test.php’; 
    $post_params['name'] = urlencode(’Test User’); 
    $post_params['file'] = ‘@’.'demo/testfile.txt’; 
    $post_params['submit'] = urlencode(’submit’); 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $request_url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params); 
    $result = curl_exec($ch); 
    curl_close($ch); 

這裏html代碼

<form method=」post」 action=」test.php」 enctype=」multipart/form-data」> 
    <input type=」text」 name=」name」 value=」Test User」 /> 
    <input type=」file」 name=」file」 /> 
    <input type=」submit」 name=」submit」 value=」submit」 /> 
</form> 
+0

感謝aravind.udayashankara,但我希望不要用$ post_params [ '文件'] = '@' '演示/ TESTFILE.TXT'。我想用這種方式$ post_params ['file'] = $ variable_holding_filePath_from_the_browse button; – Mas

+0

@Mas讓我試試看,但你有什麼問題完全用@任何方式我會盡快更新這個答案 –

+0

只是爲了從文件類型輸入完整的文件路徑上傳文件到遠程filehoster,而不需要首先上傳到我的服務器 – Mas