Ich habe gestern das unten folgende kleine Skript geschrieben (bzw. ein bestehendes erweitert), das mir verschiedene Benutzerdaten aus der MySQL Datenbank ausliest und sie sowohl auf der Ergebnisseite anzeigt (damit man die eMail Adressen in den lokalen eMail Client kopieren kann), als auch ein CSV File erzeugt.
Nun besteht aber das Problem, daß meine Datei datenbank.csv ungeschützt im phpbb Verzeichnis liegt.
Daher meine Frage, on jemand eine einfache Lösung dafür parat hat. Ich möchte jedenfalls kein .htaccess geschütztes Verzeichnis, für das man neue Benutzerdaten benötigt (falls ich den phpbb-Login in .htaccess exportieren könnte, hätte ich allerdings nicht einzuwenden).
Es würde mir z.B. reichen, wenn die datenbank.csv nach dem Erzeugen nur 5 Minuten zum Download bereitsteht und dann gelöscht wird oder dergleichen.
Sorry, bin noch blutiger Anfänger.
Code: Alles auswählen
<?PHP
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// Start session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
// End session management
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
// Restrict to members:
if( !$userdata['session_logged_in'] )
{
header("Location: " . append_sid("login.$phpEx?redirect=export.$phpEx", true));
exit; }
// User überprüfen START
// Nur Admins und Mods dürfen
if ( $userdata['user_level'] > 0 )
{
// MAIL ADRESSEN AUSGEBEN START
$abfrage = "SELECT user_nachname, user_vorname, user_strasse, user_plz, user_from, user_telefon, user_email FROM phpbb_users WHERE user_nachname != '' ORDER BY user_nachname ASC";
$ergebnis = mysql_query($abfrage);
echo "<span class = 'gensmall'><center><b>Alle Mailadressen in der Datenbank '" . $dbname . "' auf '" . $dbhost . "':</b></center><br><hr>";
$datei = fopen("datenbank.csv", "w+");
rewind($datei);
while ( $row = $db->sql_fetchrow($ergebnis) )
{
$nachname = $row['user_nachname'] ;
$vorname = $row['user_vorname'] ;
$strasse = $row['user_strasse'] ;
$plz = $row['user_plz'] ;
$location = $row['user_from'] ;
$telefon = $row['user_telefon'] ;
$mail = $row['user_email'] ;
// entfernt Kommas aus den Variablen, damit das CSV nicht abkackt
$nachname = preg_replace("/,/", " ", $nachname);
$vorname = preg_replace("/,/", " ", $vorname);
$strasse = preg_replace("/,/", " ", $strasse);
$plz = preg_replace("/,/", " ", $plz);
$location = preg_replace("/,/", " ", $location);
$telefon = preg_replace("/,/", " ", $telefon);
$mail = preg_replace("/,/", " ", $mail);
echo $mail."; ";
fwrite($datei, $nachname.", " .$vorname.", " .$strasse.", " .$plz.", " .$location.", " .$telefon.", " .$mail."\n");
}
// noch ein Download Link zur datenbank.csv
echo "<hr><a href=\"datenbank.csv\">als CSV-Datei herunterladen</A></span>";
fclose($datei);
// MAIL ADRESSEN AUSGEBEN ENDE
}
else
{
message_die(GENERAL_MESSAGE, $lang['Not_Authorised'], $lang['Not_Authorised']);
exit;
}
// User überprüfen ENDE
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
der_Inquisitor