php-resource



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

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-06-2005, 11:14
icesnake
 Registrierter Benutzer
Links : Onlinestatus : icesnake ist offline
Registriert seit: Sep 2002
Beiträge: 15
icesnake ist zur Zeit noch ein unbeschriebenes Blatt
Standard xml parsen mit php (sorry)

guten morgen liebe profis

ich bin auf dieser materie ein ganz grosser newbie und such auf diesem wege hilfe. ich möchte gerne ein rss-file mittels php script auslesen. zu diesem zweck, habe ich mir ein "parser-script" kopiert und kleinere anpassungen gemacht. leider funktioniert das auslesen überhaupt nicht. der code wäre:


<?php
$url="http://www.all-porsche.info/blog/wp-rss2.php";
// Enter the url to an RSS feed

$data=@fread(fopen("$url","r"),10000) or die("Cant open $url!");
// Get the file contents

$myar=getXmlData($data);
// What ever it may be, the argument to this
// function should be the XML document's content


// Now $myar holds the fully parsed XML contents.
// It may have a number of tags, like <TITLE> , <LINK> , <AUTHOR> , <SOMETHING> ... and so on
// With a simple loop, you can extract all the tags and their values neatly

// Remember, $i<= should be lesser than or equal to the number of values
// a tag has. If you give count($myar), it will only take the number of tags.
// See structure.txt for better understanding.


for($i=0;$i<=count($myar[TITLE]);$i++) {

// Here, we want to read the TITLE, DESCRIPTION, and LINK of the RSS feed.
// You can read the values of any tag like this.
// $myar[TITLE][$i], $myar[SOMETHING][$i], $myar[SOMETAG][$i].... and so on..
// Here it goes

$title=$myar[TITLE][$i];
$text=$myar[DESCRIPTION][$i];
$link=$myar[LINK][$i];

if($title) {
echo <<<EOF
<a href="$link"><font size="2" face="Verdana" color="blue">$title</font></a><br>
<font size="2" face="Verdana">$text</font><br><br>
<hr width="50%" size="1" align="left">
EOF;
}

}



//#####################################################################

// This is the function. It returns the array of the parsed XML data

function getXmlData($xml_doc) {

$n=0; // Counter used for arraying the XML data
$ar=array(); // The main array for storing parsed xml using xml_parse_into_struct()

// Parse the XML document
$parser = xml_parser_create();
xml_parse_into_struct($parser,$xml_doc,$vals,$index) or die(xml_error_string(xml_get_error_code($parser)));
xml_parser_free($parser);


$ttags=array(); // Temporary arry for storing tag names


// The main part. This is MY CREATION
// and this piece of code makes this script simple
// This is the "MAGIC LOOP" !!

for($n=0;$n<=count($vals)-1;$n++) {
if(trim($vals[$n][value])) {
$ar[$vals[$n][tag]][count($ar[$vals[$n][tag]])]=$vals[$n][value];
$ttags[$vals[$n][tag]]=$vals[$n][tag];
}
}


// Array for storing all the tag names
// This array will hold all the Tag names found in the XML document
// eg: ("TITLE","LINK","AUTHOR","DOMAIN")..
// Use this if you need it.

$tags=array();

// Extract and save the tag names to the array
foreach($ttags as $tagi) { array_push($tags,$tagi); }

return $ar;

}

?>


ich habe den code in die "inhalt.php" gepackt und jedes mal wenn ich diese "manuell" aufrufe (mittels browser) kommt diese fehlermeldung:

Cant open http://www.all-porsche.info/blog/wp-rss2.php!

kann mir jemand von euch sagen, wo denn der fehler liegt? habe ich was vergessen?

ich weiss, diese frage ist sicherlich schon ein paar mal gekommen, habe auch das forum durchsucht (soweit meine bescheidenen kenntnisse ausreichen). habe jedoch keine antwort gefunden.

besten dank für euer entgegenkommen.
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 15-06-2005, 11:22
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: xml parsen mit php (sorry)

http://www.php-resource.de/forum/sho...threadid=50454
du berücksichtigst bitte insb. folgende punkte:
- [php]-tags
- dabei keine meterlangen scrollbalken
- raus mit den verdammten @'s vor funktionsaufrufen!
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 15-06-2005, 11:30
icesnake
 Registrierter Benutzer
Links : Onlinestatus : icesnake ist offline
Registriert seit: Sep 2002
Beiträge: 15
icesnake ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo

besten dank für deine antwort. was meinst du mit [php]-tags? ich habe jetzt das @ rausgenommen. nun bekomme ich folgenden fehler:

Warning: fopen(): URL file-access is disabled in the server configuration in /home/pcarmart.com/htdocs/inhalt.php on line 40

Warning: fopen(http://www.all-porsche.info/blog/wp-rss2.php): failed to open stream: no suitable wrapper could be found in /home/pcarmart.com/htdocs/inhalt.php on line 40

Warning: fread(): supplied argument is not a valid stream resource in /home/pcarmart.com/htdocs/inhalt.php on line 40
Cant open http://www.all-porsche.info/blog/wp-rss2.php!

wie gesagt, ich bin absoluter newbie und ich will eure nerven nicht mit dummen fragen strapazieren, im gegenteil, will einfach das script zum laufen bringen.

danke für eine erneute hilfe
Mit Zitat antworten
  #4 (permalink)  
Alt 15-06-2005, 11:32
Schnoop
 PHP Senior
Links : Onlinestatus : Schnoop ist offline
Registriert seit: Apr 2003
Beiträge: 1.049
Schnoop ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Warning: fopen(): URL file-access is disabled in the server configuration in /home/pcarmart.com/htdocs/inhalt.php on line 40
Du hast von deiner Serverconfig her nicht die Möglichkeit die URL zu "öffnen"

Somit kann er die folgenden Befehle auch nicht ausführen da du keine geöffnete Datei hast.
Mit Zitat antworten
  #5 (permalink)  
Alt 15-06-2005, 11:36
icesnake
 Registrierter Benutzer
Links : Onlinestatus : icesnake ist offline
Registriert seit: Sep 2002
Beiträge: 15
icesnake ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo schnoop

besten dank für die info. und was muss ich jetzt machen? muss ich meinem hoster was mitteilen? muss er die server-config abändern?

danke
Mit Zitat antworten
  #6 (permalink)  
Alt 15-06-2005, 11:37
Schnoop
 PHP Senior
Links : Onlinestatus : Schnoop ist offline
Registriert seit: Apr 2003
Beiträge: 1.049
Schnoop ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich denke nicht das dein Hoster das änder wird weil es ein Sicherheitsaspekt ist.

Aber versuchen kannst du es ja mal.
Mit Zitat antworten
  #7 (permalink)  
Alt 15-06-2005, 11:41
icesnake
 Registrierter Benutzer
Links : Onlinestatus : icesnake ist offline
Registriert seit: Sep 2002
Beiträge: 15
icesnake ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Schnoop

anders gefragt, wie kann ich denn diesen xml feed anderweitigs auslesen, ohne den hoster damit zu belangen? da gibt es doch sicherlich eine andere möglichkeite? wenn ja welche?

besten dank
Mit Zitat antworten
  #8 (permalink)  
Alt 15-06-2005, 11:45
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

such dir nen hoster, der das unterstützt.
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #9 (permalink)  
Alt 15-06-2005, 11:46
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

ggf. noch per fsockopen() verbindung zur gegenstelle aufbauen, ressource per GET anfordern und einlesen (*).

je nach dem, was dein hoster unter "sicherheit" versteht, kann aber auch diese möglichkeit deaktiviert sein.


(*) diese stichworte sind, wie eigentlich immer, eine aufforderung zum selber danach suchen/sich infomieren, nicht zum prompten rückfragen "und wie mach ich das?"
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

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


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:54 Uhr.