#php #gd #gettype #imagecreatefrompng
#php #gd #gettype #imagecreatefrompng
Вопрос:
Я хочу динамически открывать изображение в формате PNG, но imagecreatefrompng()
ведет себя странно. Если я предоставлю явный путь, например:
$our_image = imagecreatefrompng("https://example.com/customfiles/avatars/avatar2.png");
это работает отлично, но если я попытаюсь отправить строку:
$our_image = imagecreatefrompng("https://example.com/customfiles/avatars/".$a);
это не работает. Когда я вывожу переменную, $a
я вижу, что она равна avatar2.png
Кроме того, gettype()
говорит, что $a
это строка.
- Что может быть причиной этой проблемы?
- Может ли это быть связано с другим типом строк?
Комментарии:
1. пожалуйста, сделайте
var_dump($a);
— может быть, есть дополнительный символ, который вы не видите при повторении (пробел, перевод строки, ..)?2. «это не работает» — вы получаете какие-либо ошибки? Или
$our_image
просто null / false?3. var_dump говорит, что $a — это строка (11) — именно так и должно быть.
4. Я не получаю никаких ошибок. $our_image использует другое изображение (с именем avatar1.png) в этой папке. Он не должен этого делать, так как я вывожу $ a прямо перед строкой imagecreatefrompng, и это «avatar2.png», а не «avatar1.png»
5. под «$our_image принимает другое изображение» вы имеете в виду, что на выходе в вашем браузере отображается avatar1.png, верно? Может ли это быть проблемой кэширования? Как вы вызываете этот скрипт? попробуйте добавить
?test=1234
Ответ №1:
Помогло изменение имени файла. Похоже, что браузер взял старый файл из cash.