hi,
für das lesen einer datei muss ich immer mal wieder eine zeile übersprigen, ich will jedoch nicht immer
fgets($handle, 4096);
aufrufen. deshalb habe ich mir eine funktione gebaut
doch leider klappt der aufruf in dem skript nicht
Der Aufruf von skipLine(); wird einfach ignoriert.
Vielen dank für Hilfe
für das lesen einer datei muss ich immer mal wieder eine zeile übersprigen, ich will jedoch nicht immer
fgets($handle, 4096);
aufrufen. deshalb habe ich mir eine funktione gebaut
PHP-Code:
function skipLine(){
$handle = fopen ('test.xml' , "r");
$buffer = fgets($handle, 4096);
}{
PHP-Code:
<?
error_reporting(E_ALL);
function skipLine(){
$handle = fopen ('test.xml' , "r");
$buffer = fgets($handle, 4096);
}
function readXML($file){
$handle = fopen ('test.xml' , "r");
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
if(preg_match("/<album>/",$buffer)){
$pattern = array(
"id" => "/(<id>)(.*)(<\/id>)/",
"artist" => '/(<artist>)(.*)(<\/artist>)/',
"artist_id" => '/(<artist_id>)(.*)(<\/artist_id>)/',
"title" => '/(<title>)(.*)(<\/title>)/',
"label" => '/(<label>)(.*)(<\/label>)/',
);
$rep = '${2}';
//$buffer = fgets($handle, 4096);
skipLine();
$id = preg_replace($pattern["id"],$rep,$buffer);
$buffer = fgets($handle, 4096);
$artist = preg_replace($pattern["artist"],$rep,$buffer);
$buffer = fgets($handle, 4096);
$buffer = fgets($handle, 4096);
$album_name = preg_replace($pattern["title"],$rep,$buffer);
$buffer = fgets($handle, 4096);
$buffer = fgets($handle, 4096);
$buffer = fgets($handle, 4096);
$label = preg_replace($pattern["label"],$rep,$buffer);
echo $id . "<br>";
echo $artist . "<br>";
echo $album_name . "<br>";
echo $label . "<br>";
}
}
fclose ($handle);
}
readXML('test.xml');
?>
Vielen dank für Hilfe
Kommentar