Hi,
ich habe das Problem, dass mein Hoster allow_url_fopen für alle Kunden deaktiviert hat. Nun meine Frage, ob es irgendwie möglich ist, ohne die Funktion auszukommen?
Ich brauche es für folgendes Script, das ich bisher am laufen hatte:
Kann ich die Dateien, die sich auf einem anderen Server befinden, irgendwie anders auslesen und die Daten in die DB übertragen?
Viele Grüße
Boron
ich habe das Problem, dass mein Hoster allow_url_fopen für alle Kunden deaktiviert hat. Nun meine Frage, ob es irgendwie möglich ist, ohne die Funktion auszukommen?
Ich brauche es für folgendes Script, das ich bisher am laufen hatte:
PHP-Code:
<?php
error_reporting(E_ALL);
include("config.inc.php");
mysql_connect($sqlhost,$sqluser,$sqlpass) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
$import_dateien = array ("http://www.*****/1.gz" => $tab1,
"http://www.*****/2.gz" => $tab2,
"http://www.*****/3.gz" => $tab5);
foreach($import_dateien as $openurl => $mysql_tabelle)
{
$handle = gzopen($openurl, "r");
if($handle != false)
{
mysql_query("DELETE FROM ".$mysql_tabelle);
echo "<p>Die Tabelle ".$mysql_tabelle." wurde geleert.</p>";
while($zeile = gzgets($handle, 4096))
{
$zerlegung = explode(",", $zeile);
if($mysql_tabelle == $tab1)
{
mysql_query("INSERT INTO ".$mysql_tabelle." (id,name,x,y)
VALUES ('".mysql_real_escape_string($zerlegung[0])."',
'".mysql_real_escape_string($zerlegung[1])."',
'".mysql_real_escape_string($zerlegung[2])."',
'".mysql_real_escape_string($zerlegung[3])."')");
}
elseif($mysql_tabelle == $tab5)
{
mysql_query("INSERT INTO ".$mysql_tabelle." (id,name,aid)
VALUES ('".mysql_real_escape_string($zerlegung[0])."',
'".mysql_real_escape_string($zerlegung[1])."',
'".mysql_real_escape_string($zerlegung[2])."')");
}
flush();
}
echo "<p>Die Tabelle ".$mysql_tabelle." wurde neu gefüllt.</p>";
echo "<br />";
}
else
{
echo "<p>Datei konnte nicht geöffnet werden!</p>";
}
gzclose($handle);
flush();
}
?>
Viele Grüße
Boron
Kommentar