print_r lo uso spesso ma non basta.
L'array è vuoto.
Io voglio sapere perchè.

Ecco in sintesi il file che non funziona:



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);
?>
il file xml esiste ed è ben formato.

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>
Non capisco perchè l'array che in locale viene regolarmente popolato, in remoto non funziona.