Почему этот цикл for для отображения небольших изображений иногда пропускается при загрузке? - PullRequest
0 голосов
/ 18 декабря 2009

Я использую PHP-код для создания эффекта теней на изображениях. У меня есть этот цикл for, который в основном получает размер изображения (ширина, высота), а затем добавляет эффект тени в 1 пиксель, используя цикл for и его размер. например:

 for ($i=1; $i<=$height; $i++){
    $display_table.="<img src='dropShadowLeft.jpg'><br>";
 }

Это работает безупречно на моем компьютере (используя wampserver). Но при загрузке в Интернет он всегда пропускает пару этих изображений, поэтому вместо dropShadow.jpg вместо этого отображается один из тех квадратов, где говорится, что изображение не найдено (или что-то еще, в зависимости от браузеров).

Цикл for слишком быстрый или что-то в этом роде?

Что ты думаешь?

Спасибо

Ответы [ 3 ]

2 голосов
/ 18 декабря 2009

Цикл for не слишком быстрый. Этот код генерирует HTML, и именно HTML отправляется клиенту. Это займет столько времени, сколько нужно для передачи (ну, если вся страница не истечет, но это уже другая история).

Я не совсем уверен, в чем причина ошибки, но могу вам сказать, что это ужасный подход. Ваш браузер должен сделать запрос для каждого из этих изображений, прежде чем он сможет их отобразить (я думаю, или он достаточно умен, чтобы распознавать, что они одинаковы, и кэшировать их?). Используйте one image и либо накладывайте его на CSS, либо растягивайте (если это один пиксель, он будет хорошо выглядеть). Это означает, что вам не нужно беспокоиться о лишних дополнительных запросах, он производит более чистую и менее разметку HTML и устраняет проблему.

0 голосов
/ 18 декабря 2009

Это иногда случается на некоторых серверах, когда имена файлов содержат пробелы в них. Убедитесь, что файлы не найдены без пробелов.

0 голосов
/ 18 декабря 2009

Почему вы не используете CSS для этого?

Попробуйте использовать полный URL / путь к изображению, например http://www.yourdomain.com/images/dropShadorLeft.jpg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...