wszystko posprawdzałem i jest ok
co tu może być źle skoro otwieram plik xml bezpośrednio w przeglądarce i wszystko jest ok
podsumowując:
przykładowy kod bezpośrednio z źródła strony xml
i plik php
<?php
$connect = fopen( 'http://www.plik.xml', 'r' )
or die( 'Błąd przy łączeniu' );
$a = 0;
while( !feof( $connect ) ) {
$a++;
$buffer = fgets( $connect, 4096 )
or die( 'Błąd przy odczycie' );
if( $a == 166 ) {
$link = $buffer;
}
}
fclose( $connect )
or die( 'Błąd przy zamykaniu połączenia' );
$link1 = strstr( $link, 'xml' );
$link2 = substr( $link1, '0', '4' );
$link = 'http://www.plik.xml' . $link2;
$connect = fopen( $link, 'r' )
or die( 'Błąd przy łączeniu' );
$a = 0;
while( !feof( $connect ) ) {
$a++;
$buffer = fgets( $connect, 4096 )
or die( 'Błąd przy odczycie' );
if( $a == 25 ) {
$constents = $buffer;
}
}
fclose( $connect )
or die( 'Błąd przy zamykaniu połączenia' );
$items = array();
if( preg_match_all( '/<item(.+?) \/>/i', $constents, $matchItems ) ) {
for( $i = 0; $i < count( $matchItems[0] ); $i++ ) {
if( preg_match_all( '/([a-z0-9_]+?)="(.+?)"/i', $matchItems[1][$i], $matchItem ) ) {
$item = array();
for( $a = 0; $a < count( $matchItem[0] ); $a++ ) {
$item[strtolower( $matchItem[1][$a] )] = $matchItem[2][$a];
}
if( isset( $item['id'] ) ) {
$items[$item['id']] = $item;
}
}
}
}
echo var_dump( $items );
?>