За последние 24 часа нас посетили 106347 программистов и 5751 робот. Сейчас ищут 3247 программистов ...

php+xml

Тема в разделе "PHP для новичков", создана пользователем VampiR_WAR, 6 окт 2010.

  1. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Всем привет. Вчера перенес с хоста сайт на денвер, разработчик не я... Возникла проблема, выдает ошибку
    Код (Text):
    1. Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php:23 Stack trace: #0 Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php(23): SimpleXMLElement->__construct('') #1 Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php(33): helper_load() #2 Z:\home\test1.ru\www\p\wp-content\stuff\repertory\generator_future.php(17): include('Z:\home\test1.r...') #3 Z:\home\test1.ru\www\p\wp-content\themes\p3\page.php(22): include('Z:\home\test1.r...') #4 Z:\home\test1.ru\www\p\wp-includes\template-loader.php(37): include('Z:\home\test1.r...') #5 Z:\home\test1.ru\www\p\wp-blog-header.php(16): require_once('Z:\home\test1.r...') #6 Z:\home\test1.ru\www\p\index.php(17): require('Z:\home\test1.r...') #7 {main} thrown in Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php  on line 23
    Подскажите пожалуйста в какую сторону копать.
     
  2. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Спасибо.
     
  3. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    wp-content - это вордпресс? может форум спецов по этой штуке поискать?
     
  4. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Да, движок вордпресс... Но тут одно но... почему и пришел сюда, это потому что скрипт который выдает ошибку отношения к вордпресс прямого не имеет, не считая того что просто находится в директории сайта))
    На хостинге все работает, а вот на локальном (денвере) не хочет. Что то с настройками php наверное...
     
  5. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.156
    Симпатии:
    1
    Версия php какия?
     
  6. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    PHP Version 5.3.1
     
  7. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Вот часть кода
    Код (Text):
    1. function helper_load() {
    2.     $path = "repertory/";
    3.     global $helper;
    4.     try {
    5.         $xml = new SimpleXMLElement(file_get_contents($path."annotations.xml"));
    6.     } catch (Exception $e){}
    7.     foreach ($xml->lecture as $lecture) {
    8.         $title = simplify( (string)$lecture->title );
    9.         $description = (string)$lecture->description;
    10.         $helper[$title] = $description;
    11.     }
    12. }
    13.  
    14. $helper = array();
    15. helper_load();
    16.  
    17. $n = 0;
    18. $tooltips = "";
    19.  
    20. function helper_find($title) {
    21.     global $helper, $n, $tooltips;
    22.     $t = simplify($title);
    23.     if (array_key_exists($t, $helper)) {
    24.         $n++;
    25.         $tooltips .= '<div class="tooltip" id="tt'.$n.'"><p>'.$helper[$t].'</p></div>';
    26.         return "tg" . $n;
    27.     }
    28.     return false;
    29. }
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    VampiR_WAR
    весь код хелпера, да еще и в тегах
    PHP:
    1.  а не [code] если покажешь - может кто и поможет. Тут ничерта не понятно. Там тоже. =) Номера строк даются не просто так
     
  9. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Извините
    PHP:
    1. Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php:23 Stack trace: #0 Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php(23): SimpleXMLElement->__construct('') #1 Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php(33): helper_load() #2 Z:\home\test1.ru\www\p\wp-content\stuff\repertory\generator_future.php(17): include('Z:\home\test1.r...') #3 Z:\home\test1.ru\www\p\wp-content\themes\p3\page.php(22): include('Z:\home\test1.r...') #4 Z:\home\test1.ru\www\p\wp-includes\template-loader.php(37): include('Z:\home\test1.r...') #5 Z:\home\test1.ru\www\p\wp-blog-header.php(16): require_once('Z:\home\test1.r...') #6 Z:\home\test1.ru\www\p\index.php(17): require('Z:\home\test1.r...') #7 {main} thrown in Z:\home\test1.ru\www\p\wp-content\stuff\repertory\helper.php  on line 23


    PHP:
    1. <?php
    2. error_reporting(E_ERROR);
    3.  
    4. function simplify($s) {
    5.     $lc = "àáâãä叿çèéêëìíîïðñòóôõö÷øùúûüýþÿ¨";
    6.     $uc = "ÀÁÂÃÄÅÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßÅ";
    7.     $s = iconv("UTF-8", "CP1251", $s);
    8.     $t = "";
    9.     for ($i=0; $i<strlen($s); $i++) {    
    10.         $p = strpos($lc, $s[$i]);
    11.         if ($p !== false)
    12.             $t .= $uc[$p];
    13.         if (strpos($uc, $s[$i]) !== false)
    14.             $t .= $s[$i];
    15.     }
    16.     return $t;
    17. }
    18.  
    19. function helper_load() {
    20.     $path = "repertory/";
    21.     global $helper;
    22.     try {
    23.         $xml = new SimpleXMLElement(file_get_contents($path."annotations.xml"));
    24.     } catch (Exception $e){}
    25.     foreach ($xml->lecture as $lecture) {
    26.         $title = simplify( (string)$lecture->title );
    27.         $description = (string)$lecture->description;
    28.         $helper[$title] = $description;
    29.     }
    30. }
    31.  
    32. $helper = array();
    33. helper_load();
    34.  
    35. $n = 0;
    36. $tooltips = "";
    37.  
    38. function helper_find($title) {
    39.     global $helper, $n, $tooltips;
    40.     $t = simplify($title);
    41.     if (array_key_exists($t, $helper)) {
    42.         $n++;
    43.         $tooltips .= '<div class="tooltip" id="tt'.$n.'"><p>'.$helper[$t].'</p></div>';
    44.         return "tg" . $n;
    45.     }
    46.     return false;
    47. }
    48.  
    49. function helper_tooltips() {
    50.     global $tooltips;
    51.     echo $tooltips;
    52. }
    53.  
    54. function helper_functions() {
    55.     global $n;
    56.     echo "<script> var canhide=true; $(document).ready(function() {";
    57.     for ($i=1; $i<=$n; $i++)
    58.         echo '$("#tg'.$i.'").tooltip("#tt'.$i.'");';
    59.     echo '$("a.book").tooltip({tip:"#ttbook",delay:0500, onBeforeHide:function(){return canhide;} });';
    60.     echo "}); </script>";
    61. }
    62.  
    63. ?>
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    ну может путь как-то не так написан?

    repertory/annotations.xml
    попробуй
    /repertory/annotations.xml
    или
    repertory\annotations.xml
    или
    \repertory\annotations.xml

    =)

    и кстати проверь что этот файл из этого скрипта вобще доступен по этому адресу, может скрипт не оттуда запускается
     
  11. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Проверю. Я просто еще пытался понять что говорит эта ошибка... Дело в том что не сталкивался с таким... Был бы предельно рад если бы обьяснили смысл ошибки, а то электронный переводчик и поисковики ничего не разъяснили...:-(
     
  12. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.785
    Симпатии:
    2
    Адрес:
    Ташкент
    VampiR_WAR
    или файл не может прочитать (как заметил igordata проверь пути), или же в файле содержится некорректный xml-код
     
  13. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.156
    Симпатии:
    1
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    VampiR_WAR
    она просто говорит, что это не xml =)
     
  15. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    admyx
    Пасибки=)
     
  16. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Млин, вопрос так и не ммогу никак решить... Это происходит при переносе сайта на другой хостинг, или локальный хостинг. Дело в том что и денвер у меня выдал то же ссамое и новый хостинг... а на старом все работает... Может что нибудь с настройками php? файлы переносил все как положено, местами не переставлл. Млин, и разбираться и править скрипт времени нет...
    В принципе пути не могут отличаться, так как они относительные и лежат по отношению друг к другу так же...
    Единственная мысль это настройки сервера...