Ne réinventez pas la roue. Ce dont vous avez besoin existe déjà presque prêt à l'emploi :
<?php
$result = exec("/path/to/mysqldump -u$username -p$password your_database your_table > /desired/output/path/dump.sql");
Vous voudrez peut-être vérifier le contenu de $result
ensuite, pour s'assurer que tout s'est bien passé.