Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 05.07.2019
Сообщений: 60

Не работает ветка ELSE в IF ELSE

24.10.2019, 00:08. Показов 3936. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорогие участники форума, здравствуйте. Помогите, пожалуйста, с кодом. В нём не работает ветка ELSE в одном из операторов IF ELSE. Создаю сайт. В целом я ещё новичок в PHP, но сайт у меня получается. Загвоздка заключается в коде формы загрузки графических изображений (далее "картинок") на сервер и различной текстовой информации в базу данных (в ней же хранятся и конечные папки с названиями самих графических файлов).

Скрипт работает следующим образом - если картинка имеет размер, меньший 2 000 000 байт, то она и текстовая информация в базу загружаются, а если больший, то в неё (в базу) не загружается ничего вообще. С этим полный порядок. Суть в том, что во втором случае должно выводиться сообщение о том, что размер картинки более 2 МБ и надо выбрать другую картинку, НО ОНО НЕ ВЫВОДИТСЯ ВООБЩЕ! Сервер при этом не выдаёт никаких ошибок (выведение ошибок включено). Думал, что проблема в логике (фигурных скобках), но нет - даже распечатал свой код на бумаге и ручкой проверял все его блоки - ошибок не нашёл. Сайт пишу на XAMPP. Я уже голову сломал. Может Вам удастся найти косяк, из-за которого сообщение не выводится.

Так как код очень большой привожу только его PHP-часть (опущу HTML и часть ветки IF с условием ($name_five<2 000 000) в самом PHP, которая работает "на ура", но приведу её часть, в которой может крыться проблема - сообщение перестало выводиться, как мне кажется, после её написания), чтобы Вас не запутать.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
<?php
//Обработчик загрузки файла на сервер и пути к нему в базу данных с обработчиком системы поиска 
//внутри и подгонкой под окна отображения графических файлов (для загрузки файлов, имеющих самые
//разные пропорции
require_once 'My_file.php';
 
//Загрузка файла в массив $_FILES
if ($_FILES)
{
    //Назначение конечной папки для загрузки файла
    $name_fore = 'Images/'.$_FILES['Content']['name'];
    
    //Извлечение имени файла из массива $_FILES для сообщения об успешной загрузке файла в базу данных
    $name_name = $_FILES['Content']['name'];
   
    //Проверка типа файла, загружаемого в базу данных
    switch($_FILES['Content']['type'])
    {
    case 'image/jpeg': $ext = 'jpg'; 
    break;
    case 'image/gif': $ext = 'gif'; 
    break;
    case 'image/png': $ext = 'png'; 
    break;
    case 'image/tiff': $ext = 'tif'; 
    break;
    default:           $ext = '';
    break;
}
    if ($ext){
    $name_one = $_POST['Data_publikacii_obyavleniya'];
    $name_two = $_POST['Nazvanie_obyavleniya'];
    $name_three = $_POST['Text_obyavleniya'];
    
    //Анализ его (файла) размера для вынесения решения о его загрузке в базу данных
    $name_five = $_FILES['Content']['size'];
    
    //Условие загрузки графического файла в базу данных
    if($name_five<2000000){
        ...
        Загрузка файла и различной текстовой информации в базу данных, проходящая "на ура";
        ...
        //Сравнение ширины и высоты изображения загружаемого файла и окна просмотра изображений графических файлов на сайте
        //Сравнение ширины изображения загружаемого файла и окна просмотра изображений графических файлов на сайте
        if ($file_width<$file_height){
           if ($file_width<$max_size){
           $razn = $file_height-$file_width;
             if ($razn>=1&&$razn<=50){
             $thunb = imagecreatetruecolor(252,252)
             or die('Невозможно инициализировать GD поток');
             imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
             imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
             imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
             imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
             imagedestroy($thunb);
             }
             else{
             //Задание переменной, в которой будет храниться новое изображение загружаемого файла
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            //Создание нового изображения
            imagecopyresized($thunb, $source, 63, 63, 0, 0, 126, 126, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            $thunb = $file_width;
            }
          }
          elseif ($file_width>$max_size){
           $razn = $file_height-$file_width;
            if ($razn>=1&&$razn<=50){
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
          }
          else{
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 35, 0, 0, 0, 184, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
          }
          //Сравнение высоты изображения загружаемого файла и окна просмотра изображений графических файлов на сайте
           if ($file_height<$max_size){
           $razn = $file_height-$file_width;
            if ($razn>=1&&$razn<=50){
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
            else{
            //Создание нового изображения
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 0, 35, 0, 0, 252, 184, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
          }
          elseif ($file_height>$max_size){
            $razn = $file_height-$file_width;
            if ($razn>=1&&$razn<=50){
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
            else{
            //Задание переменной, в которой будет храниться новое изображение загружаемого файла
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 35, 0, 0, 0, 184, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
          }
        }
        elseif ($file_width>$file_height){
          if ($file_width<$max_size){
          $razn = $file_width-$file_height;
            if ($razn>=1&&$razn<=50){
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
            else{
            //Задание переменной, в которой будет храниться новое изображение загружаемого файла
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            //Создание нового изображения
            imagecopyresized($thunb, $source, 63, 63, 0, 0, 126, 126, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            $thunb = $file_width;
            }
          }
          elseif ($file_width>$max_size){
          $razn = $file_width-$file_height;
            if ($razn>=1&&$razn<=50){
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
            else{
            $thunb = imagecreatetruecolor(252,252)
            or die('Невозможно инициализировать GD поток');
            imagecopyresized($thunb, $source, 35, 0, 0, 0, 184, 252, $file_width, $file_height);
            imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
            imagedestroy($thunb);
            }
           }
           //Сравнение высоты изображения загружаемого файла и окна просмотра изображений графических файлов на сайте
          if ($file_height<$max_size){
          $razn = $file_width-$file_height;
           if ($razn>=1&&$razn<=50){
           $thunb = imagecreatetruecolor(252,252)
           or die('Невозможно инициализировать GD поток');
           imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
           imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagedestroy($thunb);
           }
           else{
           //Создание нового изображения
           $thunb = imagecreatetruecolor(252,252)
           or die('Невозможно инициализировать GD поток');
           imagecopyresized($thunb, $source, 0, 35, 0, 0, 252, 184, $file_width, $file_height);
           imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagedestroy($thunb);
           }
          }
          elseif ($file_height>$max_size){
          $razn = $file_width-$file_height;
           if ($razn>=1&&$razn<=50){
           $thunb = imagecreatetruecolor(252,252)
           or die('Невозможно инициализировать GD поток');
           imagecopyresized($thunb, $source, 0, 0, 0, 0, 252, 252, $file_width, $file_height);
           imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
           imagedestroy($thunb);
           }
           else{
          //Задание переменной, в которой будет храниться новое изображение загружаемого файла
          $thunb = imagecreatetruecolor(252,252)
          or die('Невозможно инициализировать GD поток');
          imagecopyresized($thunb, $source, 0, 35, 0, 0, 252, 184, $file_width, $file_height);
          imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
          imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
          imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
          imagedestroy($thunb);
          }
         }
        }
        elseif ($file_width=$file_height){
        $thunb = imagecreatetruecolor(252,252)
        or die('Невозможно инициализировать GD поток');
        //Создание нового изображения
        imagecopyresized($thunb, $source, 63, 63, 0, 0, 126, 126, $file_width, $file_height);
        imagejpeg($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
        imagegif($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
        imagepng($thunb, 'Images/'.$_FILES['Content']['name'], $quality);
        imagedestroy($thunb);
        $thunb = $file_width;
        }
    if ($name_five){
        echo 'Объявление <BR>"'.$name_two.'"<BR> с аватаром "'.$name_name.'" загружено на сайт<BR>';
        echo "<img src='$name_fore' height='252' width='252'>";
        }
       }    
    [B]//В противном случае, если $name_five>2000000 байт, выводится сообщение о превышении максимального размера файла (ВЫВОДИТЬСЯ ДОЛЖНО ИМЕННО ЭТО СООБЩЕНИЕ, НО ОНО НЕ ВЫВОДИТСЯ!)
    else{
    echo 'Изображение "'.$name_fore.'" слишком большое. Максимальный размер должен быть 2000000 байт. Размер Вашего же файла "'.$name_five.'" байт';
    }[/B]
 }
}
else {
 echo'Необходимо нажать на кнопку "Выберите файл" или "Обзор" (название зависит от Вашего браузера) для выбора аватара (картинки) объявления';
}
Помогите, пожалуйста, HEELP. Сайт очеень нужен.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.10.2019, 00:08
Ответы с готовыми решениями:

Найти все решения числового ребуса: ВЕТКА+ВЕТКА+СТВОЛ=ДЕРЕВО
написать программу Pascal

Почему не работает ветка в switch ?
Делаю упражнение из четвёртой главы книги &quot;Изучаем С++ через программирование игр&quot; (Майкл Доусон). Не работает код из второй...

Ребус ВЕТКА + ВЕТКА = ДЕРЕВО
Надо решить ребус ВЕТКА + ВЕТКА = ДЕРЕВО, используя при этом метод перебора с возвратом и множества. Как просто решить этот ребус...

25
2 / 2 / 0
Регистрация: 05.07.2019
Сообщений: 60
25.10.2019, 00:21  [ТС]
Студворк — интернет-сервис помощи студентам
Проблема решена. Оказалось, что я не совсем туда копал, нужно было копать в сторону скрипта, стоящего перед условием. Похоже, что весь код работает криво из-за него - там проверяется тип файла. Этому скрипту почему-то не нравятся картинки с моего фотоаппарата и крутых мобильных. Я "на дурака" взял и при помощи Фотошопа увеличил размер одной из маленьких картинок и в своём условии 2Мб заменил на 500Кб. В этом случае мой код сработал "как нужно".
0
2 / 2 / 0
Регистрация: 05.07.2019
Сообщений: 60
25.10.2019, 13:00  [ТС]
Добрый день, в каком смысле "тривиально"?
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
25.10.2019, 14:21
Привет! В том смысле, что если размер файла 2 Мб, то и параметр 'size' будет отображать ровно столько же и не может выдать другое значение. Потому и условие не могло выполняться иначе, если оно было достигнуто.
1
2 / 2 / 0
Регистрация: 05.07.2019
Сообщений: 60
25.10.2019, 19:19  [ТС]
Ураа! Проблема полностью решенааа! Причиной того, что ветка ELSE не работала стал всё-таки сам массив $_FILES, а точнее настройки сервера - в них было установлено ограничение на размер загружаемых файлов, равное 2Мб. Я увеличил его. Теперь проблем с работой кода нет. Загружаются совершенно любые картинки и заработала сама ветка ELSE. Ураа!

TolikD, спасибо Вам огромное за поданую мысль. Плюс Вам от меня.

Как дошёл до решения? А вот как. Помучавшись с условием я поднял сначала глаза на предыдущий скрипт - проверку типа файла. Переписав его увидел, что результат тот же, какой и был. Вернул старый - кода поменьше. Потом поднял глаза на сам массив. Потыркав картинки jpeg увидел, что загружаются только маленькие - до 2Мб, при попытке загрузки больших картинок возникала уже знакомая Вам картина - отсутствие всяких сообщений в моей форме. На Вашу же мысль натолкнуло и то, что скрипту проверки типа файлов я дописал конкретно для него ветку ELSE с сообщением о несоответствии типа файла загружаемой картинки - она (ветка кода проверки типа) до "раздвигания ворот сервера" срабатывала как при действительном несоответствии типа файла, так и при попытке загрузки файлов типа jpeg, размер которых более 2Мб. О последнем мне указал сам сервер при моём запросе на наличие ошибок в массиве (спасибо разработчикам, что в современных версиях Apache есть эта возможность).

Может быть и я Вам когда-нибудь помогу. Кто знает.
1
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
25.10.2019, 20:30
Достаточно детальное описание, это хорошо. И докопаться до настроек сервера - это надо догадаться. Только надо отметить, какая настройка может ограничивать размер на загрузку файла.
php.ini
upload_max_filesize = 100M
И ещё, неплохо бы привести используемую версию apache и php. У меня, к примеру, такое же ограничение 2М на php 5.4 ngnix 1.12.2 система linux. А в примере выше 100М установлено на OpenServer 5 для windows при любой конфигурации.
1
2 / 2 / 0
Регистрация: 05.07.2019
Сообщений: 60
26.10.2019, 00:16  [ТС]
Она самая. PHP 5.6 на Винде.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.10.2019, 00:16

Определить, входят ли в 4-х значное число цифры 2 или 7. Не работает ветка else
Добрый вечер. Условие: Дано четырехзначное число. Определить входят ли в него цифры 2 или 7. #include&lt;iostream&gt; #include...

ветка страниц
Уважаемые мастера! Объясните новичку каким образом можно сверстать страницу так, чтоб окончание ее (или какой-то отдельный отрезок) ...

Не выполняется ветка else
Здравствуйте, прошу о помощи.Вот программа-микрокалькулятор.Необходимо, что бы после ввода знака операции шел запрос на ввод одного или 2х-...

Ветка массивов
Мне нужно динамически добавлять ветку массива Пример: $array После при необходимости выбирать ветку массива Как это сделать?

Игра ветка [Lazarus]
Всем привет, никто не писал такую игрушку в этом IDE? http://www.flashgamesclub.ru/various/vetka.htm


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru