2012-09-30 48 views
5

我有一個非常簡單的PHP腳本:如何使用wget在文章變量中發佈文件內容?

<? 
    $received:file = $_POST['file']; 
    // do something with it 
?> 

我嘗試後使用wget本地文件(UNIX)的內容。

wget --post-data='operation=upload' --post-file myfile 

似乎發佈但不附加到任何'字段'。

我該怎麼做?

+1

如果你讀了[手動](http://www.gnu.org/software/wget/manual/ html_node/HTTP-Options.html),你可以看到它說'wget'不支持文件上傳。改用'curl'之類的東西來代替。 '--post-data'和'--post-file'也不能共存。只有其中一個應該被指定。 –

+0

[用Wget發佈請求?](http://stackoverflow.com/questions/17699666/post-request-with-wget) – user

回答

7

您真的需要wget嗎?其實在閱讀wget man page時,wget不能做你想做的事情。

您可以使用curl

curl -F"operation=upload" -F"[email protected]" http://localhost:9000/index.php 

獲取文件用:

<?php 
$uploadfile = '/tmp/' . basename($_FILES['file']['name']); 
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile); 
$content = file_get_contents($uploadfile); 
?> 
+0

right;我沒有想到捲曲......我試過了;但它似乎沒有發佈該文件。 – Disco

+0

該文件的內容在哪裏發佈?在後變量? – Disco

+0

那麼myfile必須存在於你的當前目錄中...如果你仍然認爲它不起作用,你可以使用'ngrep'來收聽網絡請求。 ngrep -d lo -c 120 port 9000 –

相關問題