Hallo
Ich habe da ein kleines Problem bezüglich eines PHP scriptes. Besser gesagt ich bin unwissend in Bezug von PHP.
Ich habe hier ein script welches alle Datenbanktabellen innerhalb meines MySQL Servers optimiert. Dies funktioniert auch wunderbar. Die Ausgabe ist ebenfalls korrekt, nur möchte ich diese jetzt direkt und in dieser form per mail versenden. Ich habe ja auf meinem Server die phpmailer ressourcen welche auch ebenfalls in der php.ini integriert ist.
Hat jemand eine Idee wie ich die Ausgabe nach ablauf der Tabellenoptimierung direkt per mail versenden kann?
Hier erst mal der Code:
Ich habe da ein kleines Problem bezüglich eines PHP scriptes. Besser gesagt ich bin unwissend in Bezug von PHP.
Ich habe hier ein script welches alle Datenbanktabellen innerhalb meines MySQL Servers optimiert. Dies funktioniert auch wunderbar. Die Ausgabe ist ebenfalls korrekt, nur möchte ich diese jetzt direkt und in dieser form per mail versenden. Ich habe ja auf meinem Server die phpmailer ressourcen welche auch ebenfalls in der php.ini integriert ist.
Hat jemand eine Idee wie ich die Ausgabe nach ablauf der Tabellenoptimierung direkt per mail versenden kann?
Hier erst mal der Code:
PHP-Code:
<?php
echo '<pre>' . "\n\n";
set_time_limit( 100 );
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$start = $time;
//Mysqlconnection :
$h = 'localhost';
$u = 'root';
$p = 'xxx';
$dummy_db = 'mysql';
/**/
$db_link = mysql_connect($h,$u,$p);
$res = mysql_db_query($dummy_db, 'SHOW DATABASES', $db_link)
or die('Could not connect: ' . mysql_error());
echo 'Optimierung aller DBs' . "\n";
echo 'Trouver '. mysql_num_rows( $res ) . ' base des données' . "\n"; $dbs = array();
while ( $rec = mysql_fetch_array($res) )
{
$dbs [] = $rec [0]; } foreach ( $dbs as $db_name )
{
echo "<tr> <td colspan=\"2\" style=\"font-weight:bold\">DB : <span style=\"color:blue\">$db_name</span>
</td>
</tr>\n";
$res = mysql_db_query
($dummy_db, "SHOW TABLE STATUS FROM `" . $db_name . "`", $db_link) or die('Query : ' . mysql_error());
$to_optimize = array();
while ( $rec = mysql_fetch_array($res) )
{
if ( $rec['Data_free'] > 0 )
{
$to_optimize [] = $rec['Name'];
echo $rec['Name'] . "<tr> <td colspan=\"2\" style=\"font-weight:bold\"><span style=\"color:green\">wurde optimiert</span> </td></tr>\n";
}
}
if ( count ( $to_optimize ) > 0 )
{
foreach ( $to_optimize as $tbl )
{
mysql_db_query($db_name, "OPTIMIZE TABLE `" . $tbl ."`", $db_link );
}
}
}
$time = microtime();
$time = explode(' ', $time);
$time = $time[1] + $time[0];
$finish = $time;
$total_time = round(($finish - $start), 6);
echo 'Parsed in ' . $total_time . ' secs' . "\n\n";
?>
Hat jemand eine Idee. Ich bitte um Hilfe.
Vielen Dank
Chris
Kommentar