Здравейте. Използвам този код за качване на снимки, но дори и да не добавя снимка не ми изписва съобщение за грешка
else if ( !empty($_POST) ) {
// Нямаме субмитнати картинки, но формата е субмитната
echo "Не сте избрали изображение. Задължително е да изберете поне едно";
exit;
В край на кода се намира реда.
else if ( !empty($_POST) ) {
// Нямаме субмитнати картинки, но формата е субмитната
echo "Не сте избрали изображение. Задължително е да изберете поне едно";
exit;
В край на кода се намира реда.
Код:
// Дефиниране на константи с пътища до картинките
define("IMAGES_BIG_DIR", "../images/Big_images/");
define("IMAGES_SMALL_DIR", "../images/Small_images/");
// Дефиниране на константи с размер за малките картинки
define("IMAGE_HEIGHT", 100);
define("IMAGE_WIDTH", 170);
// Позволени типове файлове
$allowed_type = array(
'image/jpeg',
'image/jpg',
'image/JPG',
'image/JPEG',
'image/pjpeg',
'image/x-png',
'image/png',
);
$allowed_ext = array('jpg', 'png', 'JPG', 'jpeg', 'JPEG');
// Начало на обработката
if ( !empty($_FILES) ) {
// Имаме субмитнати файлове
//echo "<pre>";
//print_r($_POST);
//print_r($_FILES);
// Брой на субмитнатите картинки
$number_of_images = isset($_FILES['images']['name']) ? count($_FILES['images']['name']) : 0;
if ( $number_of_images > 0 ) {
// Извъртаме всички картинки
foreach ( $_FILES['images']['name'] as $nImagekey => $sImagaName ) {
// Файла е качен успешно, провеверки, местени и манипулации
if ( isset($_FILES['images']['error'][$nImagekey]) && $_FILES['images']['error'][$nImagekey] == UPLOAD_ERR_OK ) {
// Проверка за тип на файла
$extension = pathinfo($sImagaName, PATHINFO_EXTENSION);
if ( !in_array($_FILES['images']['type'][$nImagekey], $allowed_type) ) {
echo "Невалиден файлов формат!";
echo '</div>';
echo '<div class="down-body"></div>';
exit;
} else if ( !in_array($extension, $allowed_ext) ) {
echo "Невалиден файлов формат!";
exit;
}
// Закачаме уникално име на файла, базирано на неговата хеш сума.
// Ако бъдат качени два или повече еднкави файла, без значение от
// техните имена, накрая ще има само едно налично копие от тях.
$fn = sprintf(sha1_file($_FILES['images']['tmp_name'][$nImagekey]).'.%s', $extension);
$file_name = sprintf(IMAGES_BIG_DIR.'%s', $fn);
$file_name_sm = sprintf(IMAGES_SMALL_DIR.'%s', $fn);
// <changes>
$original_images_array[] = $file_name;
$small_images_array[] = $file_name_sm;
// </changes>
// Местим качения файл от временната директория в указаната
// Ако има роблеми с функцията move_uploaded_file(), може вместо нея да се използва функцията copy()
if ( !copy($_FILES['images']['tmp_name'][$nImagekey], $file_name) ) {
echo "Файла не може да бъде обработен.";
exit;
}
// Малки картинки
// Неизвестна реализация на функцията resize_image; Неизвестна променлива $latin_name;
//resize_image("../".$file_name,'210','180',IMAGES_SMALL_DIR.$latin_name."_pic_".$nImagekey.$extension);
// Бърза реализация - ако не ти хареса, изтрий я.
if ( strtolower($extension) == "jpg" ) {
$raw_img = imagecreatefromjpeg($file_name);
} else if ( strtolower($extension) == "png" ){
$raw_img = imagecreatefrompng($file_name);
}
if ( $raw_img ) {
$raw_x = imageSX($raw_img);
$raw_y = imageSY($raw_img);
$thumb_w = IMAGE_WIDTH;
$thumb_h = IMAGE_HEIGHT;
$thumb = ImageCreateTrueColor($thumb_w, $thumb_h);
imagecopyresampled($thumb, $raw_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $raw_x, $raw_y);
if ( strtolower($extension) == "jpg" ) {
imagejpeg($thumb, $file_name_sm);
} else if ( strtolower($extension) == "png" ){
imagepng($thumb, $file_name_sm);
}
imagedestroy($thumb);
imagedestroy($raw_img);
}
}
}
}
} else if ( !empty($_POST) ) {
// Нямаме субмитнати картинки, но формата е субмитната
echo "Не сте избрали изображение. Задължително е да изберете поне едно";
exit;
}