php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-12-2007, 23:59
iberican
 Newbie
Links : Onlinestatus : iberican ist offline
Registriert seit: Dec 2005
Beiträge: 76
iberican ist zur Zeit noch ein unbeschriebenes Blatt
Standard 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($handle4096);
    
}{ 
doch leider klappt der aufruf in dem skript nicht
PHP-Code:
<?
error_reporting
(E_ALL);

function 
skipLine(){
    
$handle fopen ('test.xml' "r");
    
$buffer fgets($handle4096);
    
}

function 
readXML($file){
$handle fopen ('test.xml' "r");    


while (!
feof($handle)) {
    
$buffer fgets($handle4096);
    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($handle4096);
        
$artist preg_replace($pattern["artist"],$rep,$buffer);
        
$buffer fgets($handle4096);
        
$buffer fgets($handle4096);
        
$album_name preg_replace($pattern["title"],$rep,$buffer);
        
$buffer fgets($handle4096);
        
$buffer fgets($handle4096);
        
$buffer fgets($handle4096);
        
$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)
Mit Zitat antworten
  #2 (permalink)  
Alt 18-12-2007, 00:16
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Mir hängt das erwähnen zwar mitlerweile zum Hals raus, aber: cURL!

Edit: Ich meine natürlich simpleXML. Ich muss ins Bett ...
Mit Zitat antworten
  #3 (permalink)  
Alt 18-12-2007, 00:31
iberican
 Newbie
Links : Onlinestatus : iberican ist offline
Registriert seit: Dec 2005
Beiträge: 76
iberican ist zur Zeit noch ein unbeschriebenes Blatt
Standard

entschuldige bitte,
aber was hat das mit dem aufruf der funktion zu tun?
Mit Zitat antworten
  #4 (permalink)  
Alt 18-12-2007, 00:35
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Soviel, als dass du Funktionen nachbaust, die PHP schon mitbringt!
Mit Zitat antworten
  #5 (permalink)  
Alt 18-12-2007, 00:49
iberican
 Newbie
Links : Onlinestatus : iberican ist offline
Registriert seit: Dec 2005
Beiträge: 76
iberican ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok habe es nun
PHP-Code:
function skipLine($handle$anz){
        for (
$i=0;$i<$anz;$i++) {
            
$tmpBuffer fgets($handle4096);
        }
    return 
$tmpBuffer;
    

und später dann
PHP-Code:
$buffer skipLine($handle,1); 
Mit Zitat antworten
  #6 (permalink)  
Alt 18-12-2007, 00:56
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Tja, wenn du das Rad halt neu erfinden willst ...
Mit Zitat antworten
  #7 (permalink)  
Alt 18-12-2007, 01:18
iberican
 Newbie
Links : Onlinestatus : iberican ist offline
Registriert seit: Dec 2005
Beiträge: 76
iberican ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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
Mit Zitat antworten
  #8 (permalink)  
Alt 18-12-2007, 02:50
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

45 MB Daten durch preg_replace() nudeln ... machst du hoffentlich nur per Cron.
Mit Zitat antworten
  #9 (permalink)  
Alt 18-12-2007, 08:47
DonManfred
 Registrierter Benutzer
Links : Onlinestatus : DonManfred ist offline
Registriert seit: Nov 2003
Beiträge: 81
DonManfred ist zur Zeit noch ein unbeschriebenes Blatt
DonManfred eine Nachricht über ICQ schicken
Standard

Auch per cron wird der speicherverbrauch ZU GROSS sein denke ich.
Mit Zitat antworten
  #10 (permalink)  
Alt 18-12-2007, 09:31
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

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?
Mit Zitat antworten
  #11 (permalink)  
Alt 18-12-2007, 11:16
iberican
 Newbie
Links : Onlinestatus : iberican ist offline
Registriert seit: Dec 2005
Beiträge: 76
iberican ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich wüsste nich wie ich das dokment laden kann
Mit Zitat antworten
  #12 (permalink)  
Alt 18-12-2007, 11:20
TroX
 Registrierter Benutzer
Links : Onlinestatus : TroX ist offline
Registriert seit: Dec 2006
Ort: Schweiz
Beiträge: 156
TroX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von iberican
ich wüsste nich wie ich das dokment laden kann

http://ch2.php.net/manual/de/functio...-construct.php
http://ch2.php.net/manual/de/functio...-load-file.php
__________________
Freedom is a state of mind. Not a state in which we live.

troxdev.ch | animefieber
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:04 Uhr.