No reinventes la rueda. Lo que necesita ya existe casi listo para usar:
<?php
$result = exec("/path/to/mysqldump -u$username -p$password your_database your_table > /desired/output/path/dump.sql");
Es posible que desee verificar el contenido de $result
después, para asegurarme de que todo salió bien.