這裏是一個PHP文件名爲upload_file.php:HTML表單的動作和的onclick
<?php
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
?>
當我打電話與HTML表單上面的文件:
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
一切都很正常,我設法將選定的文件上載到/ upload本地服務器文件夾中。
我的問題:如果我想使用onclick,上述表單的等價物是什麼?即下面的代碼
<a href="#x" class="overlay" id="browse_file"></a>
<div class="popup">
<h2>Browse for your file</h2>
<input type="file" name="file" id="file"><br>
<input type="button" value="file" onclick= "location.href = 'upload_file.php'">
</div>
定義的彈出窗口(由anothel模式對話框controled - 這就是爲什麼我不希望使用的形式),應該按順序完成通過選擇$文件名用onclick調用upload_file.php時_FILES?
謝謝各位朋友。
您的問題並不清楚,您需要相同的表單,但您希望表單在您選擇文件時自動提交? – ClemSndr 2014-10-05 22:27:14
在我提供的最後一段代碼中,我們應該添加什麼來使其表現得像以前的形式?我們如何通過onclick將用戶選擇的文件傳遞給$ _FILES? – pebox11 2014-10-05 22:32:12
這實際上並不是正確的做法。你不能使用location.href傳遞一個文件(這是一個post請求),你必須使用ajax post請求,如果你真的想要重定向,你可以在上傳結束時啓動它 – ClemSndr 2014-10-05 22:34:27