Вот 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 local server.
Мой вопрос: что эквивалентно вышеуказанной форме, если я хочу использовать 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 модальный диалог - вот почему я не хочу использовать форму), что должно быть завершено, чтобы передать имя файла, выбранного в $ _FILES при вызове upload_file.php с onclick?
Спасибо, друзья.
Ваш вопрос непонятен, вы хотите иметь такую же форму, но хотите, чтобы форма автоматически передавалась при выборе файла? – ClemSndr
В последнем фрагменте кода я представил, что мы должны добавить, чтобы заставить его вести себя как предыдущая форма? Как мы можем передать файл, который пользователь выбирает в $ _FILES с onclick? – pebox11
Это определенно не правильный способ сделать это. Вы не можете передать файл (который является почтовым запросом) с помощью location.href, вам нужно использовать запрос ajax post, и если вы действительно хотите перенаправить, вы можете запустить его в конце загрузки. – ClemSndr