我使用PHP將文件上傳到我的服務器,卻有着一個噩夢使用這種簡單的HTML表單時,它似乎工作:PHP文件上傳(通過捲曲在命令行上)
<html><body>
<form enctype="multipart/form-data" action="uploads.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
的PHP則是:
<?php
$target_path = "uploads/";
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename($_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
?>
是否有通過使用curl命令行或shell腳本這種技術來發送文件的任何可能的方式?即東西沿着線:
curl -f "@/path/to/my/file;type=text/html" http://mywebserver.com/uploads.php
這一特定線路上給了我:「捲曲:(22)無法連接到:: 1:權限被拒絕」雖然有在網站上沒有密碼等等。我認爲這是可能的,但我得到的語法錯了?
您還應該設置通過'-X「POST'' – fardjad 2013-04-30 19:49:17
這個劇本非常小心地,因爲它上傳任何類型的文件,是一個安全漏洞發佈方法(腳本可能直接上傳到你的服務器,然後使用瀏覽器執行)...所以需要額外的編碼保護! – 2014-03-20 07:56:08