| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

17-12-2007, 23:59
|
|
iberican
Newbie
|
|
Registriert seit: Dec 2005
Beiträge: 76
|
|
aufruf von funktion funktioniert nicht
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
PHP-Code:
function skipLine(){
$handle = fopen ('test.xml' , "r");
$buffer = fgets($handle, 4096);
}{
doch leider klappt der aufruf in dem skript nicht
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');
?>
Der Aufruf von skipLine(); wird einfach ignoriert.
Vielen dank für Hilfe
Geändert von iberican (18-12-2007 um 00:12 Uhr)
|

18-12-2007, 00:16
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Mir hängt das erwähnen zwar mitlerweile zum Hals raus, aber: cURL!
Edit: Ich meine natürlich simpleXML. Ich muss ins Bett ...
|

18-12-2007, 00:31
|
|
iberican
Newbie
|
|
Registriert seit: Dec 2005
Beiträge: 76
|
|
entschuldige bitte,
aber was hat das mit dem aufruf der funktion zu tun?
|

18-12-2007, 00:35
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Soviel, als dass du Funktionen nachbaust, die PHP schon mitbringt!
|

18-12-2007, 00:49
|
|
iberican
Newbie
|
|
Registriert seit: Dec 2005
Beiträge: 76
|
|
ok habe es nun
PHP-Code:
function skipLine($handle, $anz){
for ($i=0;$i<$anz;$i++) {
$tmpBuffer = fgets($handle, 4096);
}
return $tmpBuffer;
}
und später dann
PHP-Code:
$buffer = skipLine($handle,1);
|

18-12-2007, 00:56
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Tja, wenn du das Rad halt neu erfinden willst ...
|

18-12-2007, 01:18
|
|
iberican
Newbie
|
|
Registriert seit: Dec 2005
Beiträge: 76
|
|
darum geht es nicht.
erkläre mir doch bitte wie ich meine 45 mb große datei einbinde und in simplexml bearbeite.
ich verwende fgets nur weil die datei so ewig groß ist
|

18-12-2007, 02:50
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
45 MB Daten durch preg_replace() nudeln ... machst du hoffentlich nur per Cron.
|

18-12-2007, 08:47
|
|
DonManfred
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 80
|
|
Auch per cron wird der speicherverbrauch ZU GROSS sein denke ich.
|

18-12-2007, 09:31
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Zitat:
Original geschrieben von iberican
darum geht es nicht.
erkläre mir doch bitte wie ich meine 45 mb große datei einbinde und in simplexml bearbeite.
|
Warum sollte simpleXML damit Probleme haben?
|

18-12-2007, 11:16
|
|
iberican
Newbie
|
|
Registriert seit: Dec 2005
Beiträge: 76
|
|
ich wüsste nich wie ich das dokment laden kann
|

18-12-2007, 11:20
|
|
TroX
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Schweiz
Beiträge: 156
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|