#php #css #http
Вопрос:
Пожалуйста, помогите улучшить. Обратите внимание: Попытка получить доступ к смещению массива по значению типа bool в строке 168
if ($this->output) {
//Q: Add width/height tags to all images for Google Page Speed tip:
//http://code.google.com/speed/page-speed/docs/rendering.html#SpecifyImageDimensions
preg_match_all('/<img[^>] >/i', $this->output, $result);
$img = array();
foreach($result[0] as $img_tag) {
preg_match_all('/(width|height|src)=("[^"]*")/i',$img_tag, $img[$img_tag]);
}
foreach ($img as $k => $info) {
if (count($info) == 3 amp;amp; isset($info[1][0]) amp;amp; $info[1][0] == 'src') {
//if (curl_init(str_replace('"', '', $info[2][0]))) {
$imgfile = str_replace('"', '', $info[2][0]);
$imgfile = str_replace(HTTP_SERVER, DIR_IMAGE . '../', $imgfile);
$imgfile = str_replace(HTTPS_SERVER, DIR_IMAGE . '../', $imgfile);
if (file_exists($imgfile)) {
$image_info = getImageSize(str_replace('"', '', $imgfile));
$k = trim($k, '/>');
167 $k = trim($k, '>');
168 $this->output = str_replace($k, ($k . ' ' . $image_info[3]), $this->output);
Комментарии:
1. Функция
getImageSize
возвращаетсяfalse
при сбое.2. Что нужно менять?
3. Вам нужно проверить возвращаемое значение
getimagesize
, чтобы убедиться, что это такfalse
. Вы также должны убедиться, что отчеты об ошибках PHP включены, чтобы вы могли видеть, в чем проблема.4. К сожалению, я понятия не имею, как провести подобный тест.
5.
if(false === $image_info){/*do something here*/}