Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Узнать будет ли что-то отображено в браузере

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: микробот, что ли
ekkl
Отправлено: 09 Октября, 2013 - 19:04:32
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Наткнулся сегодня на проблему. Белое окно браузера и все. Полчаса искал ошибку. Оказывается, ошибки нет, просто грузится "чистый лист"
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html>
  3. <html>
  4.    <head>
  5.           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6.           <title><?= $page_title ?></title>
  7.           <?= HTML::style('app.css') ?>
  8.         <?= HTML::style('style.css') ?>
  9.         <?= HTML::script("foundation/modernizr.foundation.js"); ?>
  10.    </head>
  11.    <body>
  12.    </body>
  13. </html>
  14.  

если локализировать проблему то имеем:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP $buf = file_get_contents('template.php');
  3. echo $buf; //Вот как узнать, вывела данная команда что-то на экран браузера или нет?
  4.  

если кому-то интересно, что за способ вывода то я приведу участок кода
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /**
  4.      * Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
  5.      * If no source is specified, the URI will be automatically detected.
  6.      */
  7.     echo Request::factory(true, array(), FALSE)
  8.             ->execute()
  9.             ->send_headers(TRUE)
  10.             ->body();
  11. ?>

Проверка на пустую строку не прокатит, так как она может быть такая, как приведено выше. (т.е. не пустая, но ничего не будет отображено все-равно)

(Отредактировано автором: 09 Октября, 2013 - 19:06:24)

 
 Top
DelphinPRO
Отправлено: 09 Октября, 2013 - 21:57:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




echo всегда выведет то, что ее попросят. Нужно проверять что выводится

Читайем описание функции (это первое, что должно было прийти вам в голову)

Цитата:
Данная функция идентична функции file() с той только разницей, что содержимое файла возвращается в строке, начиная с указанного смещения offset и до maxlen байтов. В случае неудачи, file_get_contents() вернёт FALSE.

Обращаем внимание на последнее предложение.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
ekkl
Отправлено: 09 Октября, 2013 - 22:09:42
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Внимательно читаем вопрос
PHP:
скопировать код в буфер обмена
  1.  
  2. echo '<html><head></head><body></body></html>';
  3.  

Что функция выведет в браузер данную строку я не сомневаюсь, только вот я сомневаюсь, что браузер что-то отобразит в окне.
А мне нужно узнать, после echo будет ли что-то видно в окне или нет
PHP:
скопировать код в буфер обмена
  1.  
  2. canuserview('<html><head></head><body></body></html>'); //must return false
  3. canuserview('<html><head></head><body>bla-bla</body></html>'); //must return true
  4. canuserview('file not ext!'); //must return true
  5.  

Примерно так....
 
 Top
DelphinPRO
Отправлено: 09 Октября, 2013 - 22:15:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




странное желание...

PHP:
скопировать код в буфер обмена
  1. function canuserview($html) {
  2.     return (bool)trim(strip_tags($html));
  3. }
  4.  
  5. $r1 = canuserview('<html><head></head><body></body></html>'); //must return false
  6. $r2 = canuserview('<html><head></head><body>bla-bla</body></html>'); //must return true
  7.  
  8. var_dump($r1); // false
  9. var_dump($r2); // true


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
ekkl
Отправлено: 09 Октября, 2013 - 23:09:06
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




А что тут странного? Я должен узнать ОТОБРАЗИТ echo что-то в браузере или нет?
сдалайте так:

и так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo '<b>1234567890</b>'
  4. ?>
  5.  

И посмотрите, что вы уведите в браузере и первом и втором случае.
Может тогда поймете, что я хочу.

(Отредактировано автором: 09 Октября, 2013 - 23:09:33)

 
 Top
DelphinPRO
Отправлено: 09 Октября, 2013 - 23:29:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Да я уже понял. Улыбка и даже функцию вам написал.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB