mam taki problem
mam skrypt php ktory generuje mi xml'a
1 wykonuje skrypt i zapisuje wyniki do pliku xml w celu dalszego przetwarzania
2 ładuje plik xml w celu parsowania
pojawia sie problem kodowania
w naglowku skryptu php do generowania xml mam
CODE
header('Content-type: application/xml; charset="utf-8"');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<?xml version="1.0" encoding="UTF-8"?>';
kod skryptu ktory zapisuje wyniki zwrocone przez skrypt do generowania xml, i do parsowania
CODE
class curl {
var $timeout;
var $url;
var $file_contents;
function getFile($url,$timeout=0) {
$ch = curl_init();
$this->url = $url;
$this->timeout = $timeout;
curl_setopt ($ch, CURLOPT_URL, $this->url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);
$this->file_contents = curl_exec($ch);
if ( curl_getinfo($ch,CURLINFO_HTTP_CODE) !== 200 ) {
return('Bad Data File '.$this->url);
} else {
return $this->file_contents;
}
}
}
// tworzymy nowy zasob curl
$ch = curl_init();
// ustawiamy opcje URL i naglowka
curl_setopt($ch, CURLOPT_URL, "gener.xml.php?page=0");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$dane = curl_exec($ch);
// przypisanie zmniennej $file nazwy pliku
$file = "plik.xml";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
// usuwamy zasob curl i zwalniamy zasoby systemu
curl_close($ch);
if (file_exists($file))
{
$xml = simplexml_load_file($file);
$result = $xml->xpath("/rodzina/moja/dzieci[0]");
foreach ($result as $key => $value)
{
echo $value->nazwa . '
';
}
}
else
{
exit('Nie mozna otworzyc pliku.');
}
?>
dostaje błąd
parser error : Input is not proper UTF-8, indicate encoding