PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   XML (https://www.php-resource.de/forum/xml/)
-   -   xml parsen mit php (sorry) (https://www.php-resource.de/forum/xml/55730-xml-parsen-mit-php-sorry.html)

icesnake 15-06-2005 11:14

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.

wahsaga 15-06-2005 11:22

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!

icesnake 15-06-2005 11:30

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

Schnoop 15-06-2005 11:32

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.

icesnake 15-06-2005 11:36

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

Schnoop 15-06-2005 11:37

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

Aber versuchen kannst du es ja mal.

icesnake 15-06-2005 11:41

@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

derHund 15-06-2005 11:45

such dir nen hoster, der das unterstützt.

wahsaga 15-06-2005 11:46

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?"


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:51 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG