Хочу написать bb-код [img], и чтобы не извращаться над конструкциями, решил наверняка проверить, картинка ли в этом теге с помощью getimagesize(), и если выдаст результат, то превращать в <img src="image.png">, либо игнорировать/заменять на картинку с надписью no image.
Решил проверять напрямую, а не загружать файл, не тратить зря расход трафика, и ресурсы на всякие curl. Специально для проверки создал скрипт с единой функцией sleep(60);, и... ждал минуту, чтобы получить пустой результат. Собственно этим sleep можно завалить большинство wap-сайтов, которые берут картинки извне. Как с этим бороться минимальными средствами? set_time_limit(1); - норм решение. Только боюсь, что прекратит выполнение, и не обработает все остальные реплейсы. Кто что посоветует?
Я пользовался exif_imagetype()
http://php.net/manual/ru/function.exif-imagetype.php
Работает быстрее.
bibilink, в любом случае возвращает цифру 3, что бы я этой функции не давал. Наверное она работает только с локальными файлами.
Не один крупный сайт некогда не даст возможность ставить прямые ссылки на картинки .из чего можно сделать вывод по сути.
Кэшировать и не как иначе . кэшировать желательно через curl . конечно же с хранением картинок у себя на сервере. .первичный запрос будет не самый быстрый .
----------
От меня совет: не нужен на сайте такой тег. хочешь картинки ,пускай грузят к тебе на сайт .
вен форум давал такую возможность в аватарках, во времена великого взлома. Кажется и сейчас можно снифер ипануть в картон и кинуть на аву
Ren™, не называл бы я веник крупным сайтом
Картинки внешние умрут рано или поздно. Лучше хранить их на своём сервере, тем более сейчас ресурсы диска копейки стоят.
Saint, так а как тогда вставлять их? Ну вот захотят они в статус запихнуть картинку "С добрым утром", либо набор скринов например. Надо чет простенькое, для типичных хомячков. И как быть? Как они выберут расположение файла?
Для каждого статуса заново загружать? А удалять потом как?
Anvar, то, куда вставлять будут- умрет гораздо быстрее
SV, создаёшь на сайте свой модуль картинок
перед загрузкой проверяешь наличии того картинка это или нет (и т.п)
на выходе ты получаешь чистую картинку которую не нужно будет проверять через getimagesize и т.п что жаст возможность кучу картинок на странице выгружать .
Загружать могут как юзеры так и админы . лучше всего что бы был шаблон готовых картинок .если всё таки юзеры будут загружать то можно удалять картинки которым более 90 дней(к примеру)
Если проектов можно, то можно сделать мини сервис который будет в качестве статики графики . рецепт тот же что и выше . я бы ещё себе api для этого запилил .