wollte nur damit ausdrücken das ich eher eine Variable aus dem Speicher kicke als das ich dieser einen Standardwert übergebe.QCO hat geschrieben:Ich weiß was unset macht, aber was soll das hier bringen?
Meine Variablen sind initialisiert, warum sollte ich mit unset rumwerkeln?
eMailadressen in txt exportieren
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
Code: Alles auswählen
<?
// eMailadressen aus phpBB Tabelle exportieren
mysql_connect("localhost(Server)", "Username","Passwort"); //Datenbank connect
mysql_select_db("Datenbank"); //Datenbank auswählen
$ergebnis = mysql_query("SELECT user_email FROM phpbb_users");
if (!$ergebnis) {
echo 'Fehler: ' . mysql_error();
exit;
}
$datei = fopen("email.txt","w");
while ($row = mysql_fetch_array($ergebnis, MYSQL_NUM)) {
if ($row[0]!="") { //Prüfen ob eMailfeld leer ist
printf ($row[0] . "<br>"); //Ausgabe auf Bildschirm
fwrite($datei, $row[0]. "\n"); //Ausgabe in Datei
}
}
fclose($datei);
echo "<br><b>Fertig</b>";
?>
Hallo,
kann mir mal einer sagen, WO ich da WELCHE datein (pw und so) meiner datenbank einsetzen soll???
Hier:
Code: Alles auswählen
mysql_connect("localhost", "Username","Passwort"); //Datenbank connect
Der Götterbote - Die Zeitung von The-Arena
Mit dem lesen klappts aber ansonsten? Steht doch als Kommentar im Code!mtsluft hat geschrieben:Aber wo trage ich den NAMEN meiner DB ein??
mysql_select_db("Datenbank"); //Datenbank auswählen
Vollkommen richtiger Weg, man beachte auch einen der Userkommentare auf php.net:Blutgerinsel hat geschrieben:wollte nur damit ausdrücken das ich eher eine Variable aus dem Speicher kicke als das ich dieser einen Standardwert übergebe.QCO hat geschrieben:Ich weiß was unset macht, aber was soll das hier bringen?
Meine Variablen sind initialisiert, warum sollte ich mit unset rumwerkeln?
In addition to what timo dot hummel at 4fb dot de said;
>For the curious: unset also frees memory of the variable used.
>
>It might be possible that the in-memory size of the PHP Interpreter isn't reduced, but your scripts won't touch the memory_limit boundary. Memory is reused if you declare new variables.
It might be worth adding that functions apparently don't free up memory on exit the same way unset does..
Maybe this is common knowledge, but although functions destroys variables on exit, it (apparently) doesn't help the memory.
So if you use huge variables inside functions, be sure to unset them if you can before returning from the function.
In my case, if I did not unset before return, then the script would use 20 MB more of memory than if I did unset.
This was tested with php 5.0.4 on apache 2 on windows xp, with no memory limit.
Before I did the test, I was under the impression that when you exit from functions, the memory used inside it would be cleared and reused. Maybe this should be made clear in the manual, for either unset() or in the chapter for functions.
Re: eMailadressen in txt exportieren
Da dieser Beitrag wohl durchaus noch interessant sein dürfte (ich bin jedenfalls per Googlesuche darauf aufmerksam geworden), möchte ich noch einen kleinen Zusatz im Code anfügen:
Die Ergänzung "WHERE user_allow_massemail != 0"" sorgt dafür, dass nur die Emailadressen herausgesucht werden, deren User erlaubt haben, dass sie von Administratoren benachrichtigt werden dürfen.
Im Falle eines Newsletters sollte darauf auf jeden Fall Rücksicht genommen werden, da es sonst zu unangenehmen Situationen führen könnte.
Code: Alles auswählen
<?
// eMailadressen aus phpBB Tabelle exportieren
mysql_connect("localhost(Server)", "Username","Passwort"); //Datenbank connect
mysql_select_db("Datenbank"); //Datenbank auswählen
$ergebnis = mysql_query("SELECT user_email FROM phpbb_users" WHERE user_allow_massemail != 0");
if (!$ergebnis) {
echo 'Fehler: ' . mysql_error();
exit;
}
$datei = fopen("email.txt","w");
while ($row = mysql_fetch_array($ergebnis, MYSQL_NUM)) {
if ($row[0]!="") { //Prüfen ob eMailfeld leer ist
printf ($row[0] . "<br>"); //Ausgabe auf Bildschirm
fwrite($datei, $row[0]. "\n"); //Ausgabe in Datei
}
}
fclose($datei);
echo "<br><b>Fertig</b>";
?>
Im Falle eines Newsletters sollte darauf auf jeden Fall Rücksicht genommen werden, da es sonst zu unangenehmen Situationen führen könnte.