if(isset($_POST['submit'])&& isset($_FILES['file'])){
$Uploads = new Uploads($_FILES);
$Uploads->UploadLocation = "../images/categories/";
if($Uploads->isValidated()== TRUE){
$Image = array("image" => $Uploads->upload());
$_POST = array_merge($_POST,$Image);
unset($_POST['submit']);
$Category = new Categories();
$Category->insertCategory("users", $_POST);
}
else {
print_r($Uploads->isValidated());
}
}
?>
Я поставил, если statetment перед $Uploads->isValidated()
функционирует так, чтобы остальная часть кода работала только после того, как она верна. Ниже приведен код функциональности.Возвращение TRUE каждый раз
public function isValidated(){
if($this->containsError() && $this->isValidFile() && $this->isValidSize()){
return TRUE;
}
else
{
return $this->ValidationMessages;
}
}
Я проверил, если все три метода возвращают TRUE, чем мой isValidated()
метод должен возвращать TRUE. $this->ValidationMessages
- это массив сообщений, который заполняется, если какой-либо из трех методов проверки не возвращает TRUE.
Теперь я намеренно не передавал ни одного файла этому классу, чтобы проверить, не получаю ли я сообщения об ошибках, но он все еще запускает остальную часть кода, которая кажется, что мой метод isValidated()
возвращает TRUE, которого он не должен.
Обратите внимание: мои 3 метода проверки работоспособны, так как я проверил их все, и поэтому я не размещаю их здесь. Но если вам нужно, я могу опубликовать код.
Мне нужна помощь в выяснении, почему я не получаю сообщения о проверке.
ОБНОВЛЕНО часть:
private function containsError(){
//checking if file contains any error
if(!empty($this->FileError)){
$this->ValidationMessages[] = "Sorry, This file contains error";
}
else {
return TRUE;
}
}
private function isValidFile() {
// putting the allowed files in array
$AllowedExt = array('jpg', 'jpeg', 'gif', 'png');
// matching with allowed file types
if (in_array($this->FileExt, $AllowedExt)) {
return TRUE;
} else {
$this->ValidationMessages[] = "This extension is not allowed";
return FALSE;
}
}
private function isValidSize() {
// setting the maximum size limit in bytes
$AllowedSize = 1048576;
// checking if the user file does not exceed the allowed size
if (!$this->FileSize < $AllowedSize) {
return TRUE;
} else {
$this->ValidationMessages[] = "File should not be greater than 1MB";
return FALSE;
}
}
'$ Uploads-> isValidated() === – raina77ow
' TRUE, если ($ this-> containsError() 'должен быть' если ($ this-> containsError() '- Это только делает более sense – Masadow
Невозможно увидеть, что содержитError, но похоже, что вы говорите «если есть ошибка, и все остальное в порядке) ... Как могут быть ошибки и все нормально? Что эта функция проверяет и возвращает? – Gavin