Я пытаюсь загрузить файл на свой сервер. Но проблема в том, что if (isset ($ _ FILES ['upl'])) всегда возвращает false
мой php:
if($_SERVER['REQUEST_METHOD'] == 'POST') $allowed = array('png', 'jpg', 'gif', 'jpeg', 'bmp'); { if(isset($_FILES['upl']) ) { echo 'test'; $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); if(!in_array(strtolower($extension), $allowed)){ echo json_encode(array('success'=> false, 'message'=> 'No supported file type')); exit; } $filename = "test".$extension; if(move_uploaded_file($_FILES['upl']['tmp_name'], $url.'images/uploads/'.$filename)){ echo json_encode(array('success'=> true, 'url'=> $weburl .'images/uploads/'. $filename, 'filename' => $_FILES['upl']['name'])); exit; } } }
HTML:
<form action="" method="post"> <label for="file">Logo</label><input type="file" name="upl"> <input type="submit" disabled='disabled' value=''> </form>
Я никогда не использую действие, если проверка на странице, используя один, не устраняет проблему
Вам не хватает
enctype="multipart/form-data"
в виде
<form action="" method="post" enctype="multipart/form-data">
Вам нужно изменить
<form action="" method="post">
в
<form action="" method="post" enctype="multipart/form-data">
Вы забыли enctype
в form
.
<form action="" method="post" enctype="multipart/form-data"> <label for="file">Logo</label> <input type="file" name="upl" /> <input type="submit" disabled="disabled" value="" /> </form>
вы должны добавить атрибут enctype = "multipart / form-data" в теге формы, чтобы загрузить файл на сервер ….
Очень важным атрибутом при загрузке файлов является enctype
:
<form action="" method="post" enctype="multipart/form-data">
Для загрузки файла вам необходимо добавить атрибут:
enctype="multipart/form-data"
Итак, ваш обновленный код должен быть:
<form action="" method="post" enctype="multipart/form-data">
Вы пропустили параметр enctype в своих атрибутах. Это не обязательно, если вы использовали метод GET для загрузки файлов. Но если вы использовали метод POST для загрузки файлов, то ваш параметр формы должен быть таким,
<form method="post" action="upload.php" enctype="multipart/form-data">