@xutesayor

Почему не работает router из мануала php?

Делаю третий пример из этого мануала: php.net/manual/en/features.commandline.webserver.php
Создал router.php и добавил картинку 1.jpg в эту же папку.
Вот router.php:
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is.
} else { 
    echo '<p>Welcome to PHP</p><img src="/1.jpg">';
}
?>


Запускаю вот так: php -S localhost:8000 router.php

По адресу localhost:8000 получаю страницу но без картинки:
303be235f1f141bc9c13498a0c62e418.png

Ошибок в консоли нет.

Если перейти по адресу картинки напрямую localhost:8000/1.jpg то картинка идет на скачивание, но скачивается битая.

При этом, если запускать сервер без роутера, просто "php -S localhost:8000" то картинка отображается нормально.

Вопрос: Почему не работает роутер? И как сделать чтобы он нормально работал?
  • Вопрос задан
  • 310 просмотров
Пригласить эксперта
Ответы на вопрос 1
shaks
@shaks
поменяйте картинку на небитую ;)
Пример правильный. код правильный.

Upd. гляньте в консоль браузера. Там ошибка отображаться должна, почему картинка не подгрузилась.
Со стороны сервера все произошло правильно, как его и просили. Вы дали условие, сработал else и вывел строку.
А почему хтмл тэг img не отобразил картинку - пхп никак не касается . Причина тут может быть только одна - битая картинка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы