print_r lo uso spesso ma non basta.
L'array è vuoto.
Io voglio sapere perchè.
Ecco in sintesi il file che non funziona:
il file xml esiste ed è ben formato.codice:<?php class gallery { var $struct; var $fdata; var $data; function gallery ($fdata) { $this->struct = array(); $this->data = $this->parse_file($fdata); } function startElement($parser, $name, $attrs) { $tag = array("name"=>$name,"attrs"=>$attrs); array_push($this->struct, $tag); } function data($parser, $data) { if(trim($data)) { $this->struct[count($this->struct)-1]['data']=$data; } } function endElement($parser, $name) { $this->struct[count($this->struct)-2]['child'][] = $this->struct[count($this->struct)-1]; array_pop($this->struct); } function parse_file($file) { $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, array($this,"startElement"), array($this,"endElement")); xml_set_character_data_handler($xml_parser, array($this,"data")); $parse = xml_parse($xml_parser, file_get_contents($file)); if(!$parse) { die("XML parsing error"); xml_parser_free($xml_parser); } return $this->struct; } } $album = 'foto'; $file = "xmlData/".$album.".xml"; $gallery = new gallery ($file); print_r ($gallery->data); ?>
Non capisco perchè l'array che in locale viene regolarmente popolato, in remoto non funziona.codice:<?xml version='1.0'?> <elenco> <foto nome='foto01' link='album/foto/' /> <foto nome='foto02' link='album/foto/' /> <foto nome='foto03' link='album/foto/' /> <foto nome='foto04' link='album/foto/' /> </elenco>

Rispondi quotando