Не нравятся результаты поиска? Попробуйте другой поиск!

Дебагер php скрипта


     11.09.2013    Общие вопросы по PHP    3197

вопрос
Вот такой скрипт:
// подключаем парсер
include('simple_html_dom.php');

$code = '<iframe width="607" height="360" src="https://vk.com/video_ext.php?oid=12470377&amp;id=165329953&amp;hash=4f2575e812cb0311" frameborder="0"></iframe>';

// получаем url на сам плеер, атрибут src тэга iframe
$code_dom = str_get_html($code);
$url_in = $code_dom->find('iframe', 0)->src;

// загружаем и парсим код плеера
$html = file_get_html($url_in);
// находим в нем нужную картинку по ID=player_thumb и берем его атрибут src
$img = $html->find('#player_thumb', 0)->src;

// демонстрируем результат, выводим картинку
echo '<img alt="" src="'.$img.'" />';

иногда выдает такую ошибку, при загрузке страницы - обновляешь страницу несколько раз, и страница заработает
Fatal error: Call to a member function find() on a non-object in /home/menthol/html/animecountry/index.php(348) : eval()'d code on line 278
Есть ли какой-нибудь "дебагер", который будет предотвращать появление таких ошибок.

Ответа пока нет


Комментарии пользователей (4)

Roman.NMSK
10

95 | 34

Roman.NMSK - 12 сентября 2013 10:45 - Юзер

сделай через функцию. в начале файла нужного шаблона вписываешь

<?php
function vk_video($code) {
include_once('simple_html_dom.php');
$code_dom = str_get_html($code);
$url_in = $code_dom->find('iframe', 0)->src;
$html = file_get_html($url_in);
$img = $html->find('#player_thumb', 0)->src;
echo '<img alt="" src="'.$img.'" />';
}
?>

и далее в коде вписываешь такое в нужных местах:

<?php vk_video($vid); ?>

и будет у тебя выводится картинка. $vid измени на то. что у тебя выводит код ифрейма видео из доп.поля

в дальнейшем если нужно будет дебагать, то пропишешь вот так:

<?php var_dump(vk_video($vid)); ?>

jarrro
63 | 23

jarrro - 12 сентября 2013 11:57 - Юзер

Я так понял:
<?php
function vk_video($code) {
include_once('./simple_html_dom.php');
$code_dom = str_get_html($code);
$html = file_get_html($code);
$img = $html->find('#player_thumb', 0)->src;
echo '<img alt="" src="'.$img.'" />';
}
?>
<?php vk_video('[xfvalue_ssylka]'); ?>


Так как ссылку на видео я вставляю прямую, т.е. src="эту" из iframe, то я поправил (надеюсь правильно), несколько строчек. Но после этого выходит ошибка:
Fatal error: Cannot redeclare vk_video() (previously declared in /home/menthol/html/animecountry/index.php(348) : eval()'d code:1179) in /home/menthol/html/animecountry/index.php(348) : eval()'d code on line 1194

Это я использовал как картинку в shortstory, у которых один и тот же $code на всех, думаю это не правильно, так как на странице их выводиться как минимум 10 штук.

Roman.NMSK
10

95 | 34

Roman.NMSK - 12 сентября 2013 15:31 - Юзер

саму функцию впиши в main.tpl где-то вверху и тогда ее не будет растягивать по всем шорт-стори

jarrro
63 | 23

jarrro - 12 сентября 2013 16:00 - Юзер

Все, спасибо:) можно в ответ добавлять:)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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