login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Opgelost]Back up lukt niet?

Offline Frederic - 16/04/2005 20:50 (laatste wijziging 17/04/2005 00:13)
Avatar van FredericPHP ver gevorderde Ziet iemand een reden waarom dit script niet werkt? Normaalgezien moet het me een mail sturen maar dat gebeurt niet! En ik krijg enkel een notice:

  1. <?
  2. //database host
  3. DEFINE('dbhost','localhost');
  4. //database name
  5. DEFINE('dbnaam','db');
  6. //database user
  7. DEFINE('dbuser','mijnusername');
  8. //database passwordt
  9. DEFINE('dbpass','mijnww');
  10. //domeinnaam
  11. DEFINE('domein','het domein');
  12. //doel
  13. DEFINE('email','mijnCORRECTemailadres');
  14. ?>
  15. <?
  16. //connect with database
  17. $link = mysql_connect(dbhost,dbuser,dbpass) or die('No datbase conection could be establised');
  18. mysql_select_db(dbnaam,$link) or die('No datbase selected');
  19.  
  20. //query to recive table names
  21. $query = mysql_query('SHOW TABLE STATUS') or die(mysql_error());
  22. $sql_backup = '';
  23.  
  24. //whileloop to loop trough every table
  25. while($row = mysql_fetch_assoc($query))
  26. {
  27. //show sql query to rebuild the query
  28. $sql = 'SHOW CREATE TABLE '.$row['Name'].'';
  29. //exucte error or give a error
  30. $query2 = mysql_query($sql) or die(mysql_error());
  31.  
  32. //create sql
  33. $sql_backup.="\r\n#Create table ".$row['Name']."\r\n\r\n";
  34. $out = mysql_fetch_assoc($query2);
  35.  
  36. $sql_backup.=$out['Create Table'].";\r\n\r\n";
  37. $sql_backup.="#Dump data\r\n\r\n";
  38.  
  39. //SQL code to select everything for table
  40. $sql = 'SELECT * FROM '.$row['Name'];
  41. $out = mysql_query($sql);
  42. $sql_code = '';
  43.  
  44. //loop trough the colloms
  45. while($code = mysql_fetch_array($out,MYSQL_ASSOC))
  46. {
  47. $sql_code .= "INSERT INTO ".$row['Name']." SET ";
  48.  
  49. foreach($code as $insert => $value)
  50. {
  51. $sql_code.=$insert ."='".addslashes($value)."',";
  52. }
  53. $sql_code = substr($sql_code, 0, -1);
  54. $sql_code.= ";\r\n";
  55. }
  56. $sql_backup.= $sql_code;
  57. }
  58.  
  59. //generade a unique id
  60. $unique = md5(uniqid(time()));
  61.  
  62. //message
  63. $message = "Backup procedure van database: ".dbnaam." is met succes verlopen. U vind in de bijlage een backup van de inhoud gemaakt op. ".date('d-m-Y H:i:s')."\r\n Autobot";
  64.  
  65. //maak headers aan
  66. //form header
  67. $headers = "From: Autobot <noreply@".domein.">\r\n";
  68. //terug sturen naar een niet bestaand mail adress (noreply@domein.nl)
  69. $headers .= "Reply-To: Autobot <noreply@".domein.">\r\n";
  70. //vertel dat het een mine versie is
  71. $headers .= "MIME-Version: 1.0\r\n";
  72. //email bestaat uit meerdere bestanden dus vertel wat de scheidings teken is en dat het een multipart is
  73. $headers .= "Content-Type: multipart/mixed; boundary=\"".$unique."\"\r\n";
  74. //we zenden een attachment mee
  75. $headers .= "Content-Disposition: attachment\r\n";
  76.  
  77. //generenen een body. Dit is een multi part gezeik
  78. $body.= "This is a multi-part message in MIME format.\r\n";
  79. $body.= "\r\n";
  80. //boundary
  81. $body.= "--".$unique."\r\n";
  82. //content type + charater set (iso in dit geval)
  83. $body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
  84. //codering (7 bit)
  85. $body.= "Content-Transfer-Encoding: 7bit\r\n";
  86. $body.= "\r\n";
  87. //het bericht
  88. $body.= $message ."\r\n";
  89. //boundaty
  90. $body.= "--".$unique."\r\n";
  91. //content type + naam bestand (database.sql)
  92. $body .= "Content-Type: application/octet-stream; name=database.sql\r\n";
  93. //codering
  94. $body .= "Content-Transfer-Encoding: base64\r\n";
  95. //als bijlage toegevoegd
  96. $body.= "Content-disposition: attachment\r\n";
  97. $body .= "\n";
  98. //de inhoud van het bestand
  99. $body .= chunk_split(base64_encode($sql_backup)) . "\r\n";
  100. //zet alles op email!
  101. //hier kan wat tijdsverschil in zitten!
  102. mail(email,'Mysql backup '.date('d-m-Y H:i:s'),$body,$headers);
  103. ?>
Citaat:
Notice: Undefined variable: body on line 97

6 antwoorden

Gesponsorde links
Offline remcobers - 16/04/2005 21:08
Avatar van remcobers PHP expert moet nog een spatie tussen body en je punt.
Offline Frederic - 16/04/2005 21:12
Avatar van Frederic PHP ver gevorderde Nope, want het is een notice he, dat mag de werking van het script niet in gedrang brengen...
Offline MothZone - 16/04/2005 21:13
Avatar van MothZone PHP ver gevorderde als het niet lukt zonder spatie, probeer dan eerst is $body "aan te maken"
Dus dit:
$body = "";
Offline Frederic - 16/04/2005 21:21
Avatar van Frederic PHP ver gevorderde Nope, nog steeds niet
Offline remcobers - 16/04/2005 23:43
Avatar van remcobers PHP expert $body.= "Content-disposition: attachment\r\n";

is Content-disposition: attachment wel goed?
Offline Frederic - 17/04/2005 00:12
Avatar van Frederic PHP ver gevorderde Jawel, het hele script klopte, het was gewoon de telenet mailserver die zo grote bestanden met een delay van 2u afleverde 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.197s