Е...отговорът защо ще направи това, което описахте, е поради използването на функцията header(). В PHP не можете да отпечатате нищо преди извикване на заглавка, тъй като това насочва уеб сървъра да подготви заглавка на съдържанието. Обикновено те напълно заместват цялото съдържание.
Второ, бих искал да спомена, че съхраняването на изображения в база данни обикновено е лоша идея по две причини.
- Оказва значително влияние върху производителността и изобразяването.
- Трябва да напишете код, който изобразява данните за blob, а не просто да показвате самото изображение.
Предпочитаният метод за представяне на изображения, управлявани от база данни, би бил изображенията да се съхраняват в директория и имената им на файлове да се съхраняват в базата данни. Сега, когато искате да покажете изображенията, просто трябва да потърсите в БД какви имена на файлове искате да покажете и след това просто да включите името на файла в HTML атрибут.
Изпълнението също е много по-бързо.
Също така, бих искал да отбележа, че ако искате скрипт действително да извършва вашето изобразяване, бихте искали този скрипт да дефинира заглавката ви и след това да echo или отпечата изображението, след като дефинирате заглавката.
Моля, имайте предвид, че когато създадете своя html маркер... който в атрибута src, тогава ще го направите нещо по-подобно;
<img src="image.php?id=<some_number>">
Сега вашият файл image.php ще изплюе данните за изображението в етикета.