#php #html #css #image #web-scraping
#php #HTML #css #изображение #веб-очистка
Вопрос:
Я пишу скрипт, который позволяет мне узнать, сколько изображений на моем веб-сайте слишком велико для разных размеров экрана (например, у вас есть изображение 500×500, которое может отображаться как 100×100 на мобильном устройстве). В настоящее время он работает как (временный) JS-скрипт, который я запускаю, и это AJAX — информация для базы данных, на которую я могу ссылаться при последующей оптимизации изображений.
Моя проблема в том, что это не очень эффективно, потому что на веб-сайте 100 страниц, и я бы очень хотел автоматизировать это, а не вручную запускать скрипт на всех 100 страницах, каждая на разных размерах экрана. Я рассмотрел скрипт, в который я вставил список URL-адресов, и он циклически просматривает все 100 страниц через форму перенаправления после запуска каждого скрипта, но это не кажется очень экономичным по времени, поэтому хотелось бы автоматизировать его с помощью серверного php-скрипта. Но я не могу придумать / не знаю способа, которым я могу получить размер рендеринга изображения (не фактический размер), используя php-очистку страницы.
У кого-нибудь есть идеи?
Комментарии:
1. если соотношение одинаковое, это вроде как не имеет значения, вы могли бы использовать
<picture>
запросы элементов или мультимедиа для изменения на более подходящее изображение, выполненное с помощью скрипта изменения размера, т. Е.image.png?w=500
И т. Д. Реальная проблема заключается в обслуживании изображения размером 25 МБ, когда его можно оптимизировать до нескольких КБ, что вы можете легко увидеть, упорядочив каталог по размеру, а затем исправив изображения, которые явно слишком велики (и это было бы легко кодировать, а не очищать весь сайт).2. Я думаю, вы, возможно, неправильно истолковали то, что я пытаюсь сделать. У меня может быть изображение размером 500×500, которое на рабочем столе отображается как 500×500, а на мобильном устройстве — 100×100. В настоящее время у меня нет версии изображения 100×100 и (без проверки) я не знаю, что оно отображается с разрешением 100×100. Итак, у меня есть JS-скрипт, который запускается после загрузки страницы (мобильного размера), чтобы сообщить мне, что на мобильном устройстве это 100×100. Затем я могу использовать это для отображения в теге <picture>, который вы упомянули. Что я надеюсь сделать, так это автоматизировать это дальше, без необходимости открывать страницу в браузере, чтобы сервер (с php) мог находить изображения различных размеров.
3. да, это неясно, перейдите к этому скрипту , и вы ясно увидите его только размер файла, который действительно имеет значение, если вы используете правильный CSS для масштабирования изображения внутри элемента. Будь то 500×500, 250×250, 100×100 — это одинаковое соотношение, поэтому оно не влияет на то, как на самом деле выглядит изображение. Если вы не используете какой-либо css, то, очевидно, 500-кратное изображение, отображаемое на 100-кратном устройстве, вызовет проблемы, звучит как проблема xy
4. также вы можете загрузить проверку / задачу пользователю и просто опубликовать размеры вместо удаления сайта
5. Вы не можете получить фактический размер, в котором будет отображаться изображение, просто очистив HTML-код страницы. Изображение отображается в определенном размере, потому что HTML был проанализирован, и все CSS применены (и, возможно, JS также манипулировал DOM, кто знает) — PHP на самом деле не может сделать это за вас, во всяком случае, надлежащим образом. Безголовый браузер — это то, что вам нужно, если вы хотите автоматизировать такие задачи, которые в первую очередь требуют фактического рендеринга страницы.