Я пытаюсь сделать некоторые проверки на загруженные изображения. Когда я проверяю, были ли выбраны и загружены ли какие-либо изображения, он должен вернуть сообщение об ошибке, если изображения не были загружены. Но в моем методе он всегда возвращает false
.Как проверить загруженный файл пуст?
Heres метод:
class event{
private $dbh;
private $post_data;
public function __construct($post_data, PDO $dbh){
$this->dbh = $dbh;
$this->post_data = array_map('trim', $post_data);
}
public function checkValidImages(){
$errors = array();
if(empty($this->post_data['event-images'])){
$errors[] = 'Please select at least one image to upload.';
}
if(count($errors) > 0){
return $errors;
}else{
return FALSE;
}
}
и назвав его здесь:
// Check all images are valid
$images = new event($_FILES, $dbh);
var_dump($imageErrors = $images->checkValidImages());
В var_dump()
возвращается bool(false)
.
Heres форма:
<form name="submit-event" action="submit-event.php" method="post" enctype="multipart/form-data">
<div class="large-12 columns no-padding">
<p>Select images for this event</p><br />
<input type="file" class="right" name="event-images[]" size="50" multiple="multiple" />
</div>
</form>
Так почему же мой метод, возвращающий ложь, даже если я не выбрать любые изображения.
var_dump() возвращает bool (false), что означает, что ошибки нет. Вот как вы определили свою функцию. – Maximus2012
Я только что понял, что если я не выберу изображение для загрузки и сделаю счет '$ _FILES ['event-images'] ['name']', он вернет '1' вместо 0. Что нечетно , Конечно, если я ничего не выбрал, он должен был бы вернуть нуль? – crm
Я бы так подумал. – Maximus2012