VALUES ('$id', '$imgData', 'fileSize', 'fileType', NOW());";
Ваш тип файла всегда "fileType", а ваш размер всегда "fileSize" (правильно ли он сохраняется в базе данных?). Таким образом, тип вашего изображения на выходе всегда image/fileType
, что является по крайней мере одной из ваших проблем.
Вы также, похоже, пытаетесь использовать finfo
там, но в конце концов просто используете предоставленный пользователем тип MIME из массива $_FILES
, что вам никогда не следует делать.
Вы также не можете экранировать значения, прежде чем поместить их в запрос SQL. addslashes
- это не то же самое, что mysql_real_escape_string
или подготовленные заявления.
Вы также должны привыкнуть к преждевременному сбою вместо бесконечных вложенных if
s:
if ($error !== UPLOAD_ERR_OK) {
echo 'fail';
continue;
}
if ($_FILES['file']['size'][$file] > $max) {
echo 'fail';
continue;
}
...