Offtopic: Via mail? Heb je al bedacht hoe je dat gaat doen als de database ook maar een klein beetje groot gaat worden? Een bijlage van een paar MB kun je nog versturen, maar een paar honderd MB is toch echt andere koek.
Heb je al bedacht op welke manier je de backup gaat maken? Het versturen van het bestand is zal het probleem niet zijn.
ik heb laatst ook een databse class geschreven met ingebakken back-up functie. Ideaal was het geweest om het te mailen, maar zoals frank zegt is dit naarmate je database groeit onmogelijk. ik heb er nu voor gekozen om het weg te schrijven naar een bestand op diezelfde server wat totaal nutteloozz is natuurlijk als je server crashed. Ik heb toen maar de mail functie gebruikt om me een link te geven naar de meest recente back-up. deze haal ik eens in de zoveel tijd binnen:)
edit: typo
<?
#create a sql backup and send it to your e-mail address
//define settings
//database host
DEFINE('dbhost','localhost');
//database name
DEFINE('dbnaam','databasenaam');
//database user
DEFINE('dbuser','databaseuer');
//database passwordt
DEFINE('dbpass','wachtwoord');
//domeinnaam
DEFINE('domein','phphulp.nl');
//doel
//connect with database
$link = mysql_connect(dbhost,dbuser,dbpass) or die('No datbase conection could be establised');
mysql_select_db(dbnaam,$link) or die('No datbase selected');
//query to recive table names
$query = mysql_query('SHOW TABLE STATUS') or die(mysql_error());
$sql_backup = '';
//whileloop to loop trough every table
while($row = mysql_fetch_assoc($query))
{
//show sql query to rebuild the query
$sql = 'SHOW CREATE TABLE '.$row['Name'].'';
//exucte error or give a error
$query2 = mysql_query($sql) or die(mysql_error());
// Laten we eerst controleren of het bestand bestaat en of we er in kunnen schrijven.
if (is_writable($filename)) {
// In ons voorbeeld openen we $filename in 'toevoeg' modus.
// De bestands pointer is aan het einde van het bestand
// en daar gaat $inhoud naar toe als we het fwrite()'en.
if (!$handle = fopen($filename, 'a')) {
print "Kan het bestand niet openen ($filename)";
exit;
}
// Schrijf $inhoud naar ons bestand dat we geopend hebben.
if (!fwrite($handle, $inhoud)) {
print "Kan niet schrijven naar bestand ($filename)";
exit;
}
print "Succes, geschreven ($inhoud) naar bestand ($filename)";
fclose($handle);
} else {
print "Het bestand $filename is niet schrijfbaar";
}
?>
ik denk dat dit zou moeten werken
of miss iets met datums, maar dan moet er wel iemand op je site hebben gekeken voor hij het doet...
(if ($datum > 18:00 && $vandaag != $databaseresult->laatste_dag) {