0

I have installed apache 2.2.3 and PHP 5.1.5 on Win XP (IIS is also set up on different port) I have try the sample code from php.net; however, it keeps giving me error on opening the file please help.

<?php
$file = "data.xml";
$depth = array();
 
function startElement($parser, $name, $attrs)
{
global $depth;
for ($i = 0; $i [ $depth[$parser]; $i++) {
echo " ";
}
echo "$name\n";
$depth[$parser]++;
}
 
function endElement($parser, $name)
{
global $depth;
$depth[$parser]--;
}
 
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
die("could not open XML input"); //it keeps dying here~~
}
 
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>

Thank you in advance,
Pillow

2
Contributors
2
Replies
3
Views
10 Years
Discussion Span
Last Post by pillow
0

Try moving your initial variables down to just before the block where they're defined. PHP doesn't support global variables as other languages do, so there's no reason to define something above function blocks.

(I'm not sure if this will solve it, but it might.)

0

I found out that the real problem is somehow i am not able to load any external files from php. My current setting is Apache 2.2.3 PHP5.15 on WinXP. Is there any setting I have to make to get it load an external file?
Thanks,

Try moving your initial variables down to just before the block where they're defined. PHP doesn't support global variables as other languages do, so there's no reason to define something above function blocks.

(I'm not sure if this will solve it, but it might.)

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.