У меня есть таблица MySQL, в которой я храню аватары пользователей в виде большого двоичного объекта. Я извлекаю эти изображения с помощью скрипта avatar.php, который выводит изображение. Чтобы запросить конкретное изображение пользователя, вы должны вызвать avatar.php?id=(идентификатор пользователя). Чтобы сделать имя динамического изображения красивым, я добавил переписанный URL-адрес в свой .htaccess, чтобы вы также могли вызывать avatar-(userid).jpg, что будет переведено в avatar.php?id=(userid).
Теперь я хочу получить изображение пользователя и манипулировать им с помощью GD. Я пытался использовать getimagesize() и imagecreatefromjpeg(), но я постоянно получаю сообщение об ошибке «не удалось открыть поток, нет такого файла или каталога». Оба скрипта, в которых я пытаюсь использовать эти функции, как и скрипт avatar.php, находятся в корневом каталоге. Я попытался:
getimagesize('avatar.php?id=1');
getimagesize('./avatar.php?id=1');
getimagesize('/avatar.php?id=1');
...and the same but using avatar-1.jpg instead.
Когда я использую полный URL-адрес своего сайта (включая http:// и т. д.), он действительно работает... Но я не понял, почему.
//Изменить: аналогичная проблема возникает при использовании функции file_exists(). Если я попробую file_exists('./avatar.php'), он вернет true, если я добавлю get-vars, он вернет false. Эти функции не подходят для динамических файлов?
Может ли кто-нибудь помочь мне, пожалуйста?
заранее спасибо