Что за ошибка парсинга?

Статус
В этой теме нельзя размещать новые ответы.

Artu

Постоялец
Регистрация
3 Мар 2009
Сообщения
75
Реакции
2
Проявляется не на всех хостингах.

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in
/users/home/network1/user/class.user.php on line 11

/user/class.user.php:
Код:
<?php

//XML class
class CArray2xml2array {

    /*
     * XML Array
     * @var array
     * @access private
     */
    private $XMLArray;//11 строка

    /*
     * array is OK
     * @var bool
     * @access private
     */
    private $arrayOK;

    /*
     * XML file name
     * @var string
     * @access private
     */
//......
 
при заливке бьется какой нибудь файл скорей всего - попробуйте полностью все перезалить заново.
 
ниче не бьется.
просто на некоторых хостингах php4 на нем такое неработает надо писать var $XMLArray;
а на php5 такая херь прокатит...
 
  • Нравится
Реакции: Artu
black.cat,точно еще public возле function поудалять.

Добавлено через 12 минут
Но тут возникла новая ошибка:
Warning: domdocument() expects parameter 2 to be long, string given in /users/home/network1/user/class.user.php on line 76

Fatal error: Call to undefined function: createelement() in /users/home/network1/user/class.user.php on line 82

Код:
...
     function saveArray($XMLFile, $rootName="", $encoding="utf-8"){
        global $debug;
        $this->doc = new domdocument("1.0", $encoding); //строка 76
        $arr = array();
        if (count($this->XMLArray) > 1){
            if ($rootName != ""){
                $root = $this->doc->createElement($rootName);//строка 82
            }else{
                $root = $this->doc->createElement("root");
                $rootName = "root";
            }
            $arr = $this->XMLArray;
        }else{
...

Нужно расширение DOMXML,а оно только в PHP5???
 
Но тут возникла новая ошибка:
Warning: domdocument() expects parameter 2 to be long, string given in /users/home/network1/user/class.user.php on line 76

в php.ini закомментируй:

Код:
extension=php_domxml.dll

и вставь:

Код:
extension=php_dom.dll
 
  • Нравится
Реакции: Artu
Обычно на хостингах нет доступа к php.ini
Нужен хостинг с поддержкой php 5 и нужного расширения. На некоторых хостингах есть переключатель с php4 на php5 в контрольной панели, но кроме этого ничего не сделаешь.
Набор расширений и php.ini сами вы можете менять только на таких тарифных планах где имеете root доступ.
 
Определите, какая версия php у вас на сервере. Для этого создайте phpinfo.php и обратитесь к нему.

phpinfo.php:
PHP:
<?
echo phpinfo();
?>

Расширение DOM позволяет вам оперировать xml-документами в php5.
Пример использования:

PHP:
$sXML = '<root><element><key>a</key><value>b</value></element></root>';
$dom= new DOMDocument();
$doc->loadXML($sXML);

В php4 используйте расширение DOM XML. Пример использования:

PHP:
$showfile = file_get_contents('c:/windows/system32/passwords.xml');
$newstring=utf8_encode($showfile);
if(!$domDocument = domxml_open_mem($newstring)) {
   echo "Не могу загрузить xml...";    
   exit;
}
$rootDomNode = $domDocument->document_element();
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху