Hi.
Mein Provider hat nun endlich PHP5 auf seinem Server laufen.
Wollte mein Regex-Script nun umschreiben, leider krieg ich immer folgende Fehlermeldung, wenn ich das curl-Zeugs mit SimpleXML-Befehlen ersetzen will:
"Warning: simplexml_load_file(): I/O warning : failed to load external entity"
Hat wer einen Vorschlag, wie ich das ultra-komplizierte Script mit ein paar wenigen XML-Befehlen umschreiben kann?
Danke!
Hier ist das Script:
	
							
						
					Mein Provider hat nun endlich PHP5 auf seinem Server laufen.
Wollte mein Regex-Script nun umschreiben, leider krieg ich immer folgende Fehlermeldung, wenn ich das curl-Zeugs mit SimpleXML-Befehlen ersetzen will:
"Warning: simplexml_load_file(): I/O warning : failed to load external entity"
Hat wer einen Vorschlag, wie ich das ultra-komplizierte Script mit ein paar wenigen XML-Befehlen umschreiben kann?
Danke!
Hier ist das Script:
PHP-Code:
	
	
<?php
function get_remote_file($url)
{
    if (ini_get('allow_url_fopen')) {
        return file_get_contents($url);
    }
    elseif (function_exists('curl_init')) {
        $c = curl_init($url);
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_HEADER, 0);
        $file = curl_exec($c);
        curl_close($c);
        return $file;
    }
    else {
        die('Error');
    }
}
include "includes/connect.php";
$getitems="SELECT itemid,asin from phpbb_amazon";
$getitems2=mysql_query($getitems) or die("Could not get items");
while($getitems3=mysql_fetch_array($getitems2))
{
  $url="http://xyz.com (...) &ItemId=$getitems3[asin] (...)";
  $var=get_remote_file($url);
// der Preis zwischen "<LowestNewPrice><FormattedPrice>EUR [i]Preis[/i]</FormattedPrice></LowestNewPrice>"
// soll ausgelesen werden - spielt eigentlich keine Rolle ob mit oder ohne das voranstehende "EUR".
  $regexbest = '/\<LowestNewPrice\>(?:.*)<FormattedPrice\>(.*)<\/FormattedPrice\>(?:.*)<\/LowestNewPrice\>/';
  preg_match($regexbest,$var,$matchbest);
  if(count($matchbest) == 0){
// falls "<LowestNewPrice>" nicht vorhanden sein sollte, soll der Preis zwischen
// "<LowestUsedPrice><FormattedPrice>EUR [i]Preis[/i]</FormattedPrice></LowestUsedPrice>" ausgelesen werden
  $regexbest = '/\<LowestUsedPrice\>(?:.*)<FormattedPrice\>(.*)<\/FormattedPrice\>(?:.*)<\/LowestUsedPrice\>/';
  preg_match($regexbest,$var,$matchbest);
  $pricebest = $matchbest[1];
  }else{
  $pricebest = $matchbest[1];
  }
  $updatecron="Update phpbb_amazon set price='$pricebest' where itemid='$getitems3[itemid]'";
  mysql_query($updatecron) or die("Could not update cron");
// der Preis zwischen "<Price><FormattedPrice>EUR [i]Preis[/i]</FormattedPrice></Price>" soll ausgelesen werden
  $regexamazon = '/\<Price\>(?:.*)<FormattedPrice\>(.*)<\/FormattedPrice\>(?:.*)<\/Price\>/';
  preg_match($regexamazon,$var,$matchamazon);
  if(count($matchamazon) == 0){
  $priceamazon = "ausverkauft";
  }else{
  $priceamazon = $matchamazon[1];
  
  }
  $updatecron="Update phpbb_amazon set amazonprice='$priceamazon' where itemid='$getitems3[itemid]'";
  mysql_query($updatecron) or die("Could not update cron");
  mysql_query("Delete from bgook");
}
?>
          
 Moderator
							
						
Kommentar