Есть такой код:
<?php
$id = basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
if($id != 'show') {
require "../../../db.php";
$db = new mysqli(db_host, db_user, db_pass, db_name);
if($array_ban = $db->query("SELECT * FROM `adverts` WHERE `id` = '$id'")->fetch_array()) {
// var_dump($array_ban);
$file = $array_ban['src'];
$mime = $array_ban['mime_type'];
$path = "/var/banners/{$file}";
if(file_exists($path)) {
header("Content-Type: " . $mime);
readfile($path);
}
else {
die("Файл не существует");
}
}
}
Каталог
/var/banners/
разумеется существует, как и файлы в нем. Права на папке стоят 777. Задача: посредством данного php файла вытащить картинку. Но почему то получаю иконку картинки
, тоесть самой картинки нет. Проверял каждую переменную. Пришел к выводу, что по каким то другим причинам не работает
readfile().
У меня nginx+php-fpm. Если через
alias
вывести эту папку, все работает нормально.