2010-11-29 3 views
2


J'ai la ligne de commande pour sauvegarder le db et le wnat pour courir à travers le navigateur. Comment puis-je le faire.Parce que j'exécute le code ci-dessous avec les entrées, il ne me donnera pas la sortie.Pourquoi? Comment puis-je Réalisez la sauvegarde db si ça ne marche pas.Comment faire pour exécuter une commande système dans le navigateur en utilisant PHP et Xampp?

$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile"; 
print system($command); 

Répondre

1

Je dirais que l'une des xattr_supported system ou exec. Si vous avez besoin exec ouput serait mieux

system($command) 

Juste pour référence la signature de la fonction de la doc

string exec (string $command [, array &$output [, int &$return_var ]]) 

et un extrait rapide

exec($command, $output, $ret_var); 
echo "return code: {$ret_var}" . PHP_EOL; 
echo "output ------" . PHP_EOL; 
foreach($output as $line){ 
    print $line . PHP_EOL; 
} 
+0

J'ai essayé, mais je ne peux pas obtenir le résultat. J'ai mis à jour mon codage.Il n'imprimera rien – svk

+0

@vinothkumar: que voulez-vous dire par ne peut pas obtenir le résultat? – RageZ

+0

La sortie attendue est le fichier zip de la base de données.Ce que je n'ai pas obtenu.C'est pourquoi je mis je ne peux pas (je n'ai pas obtenu le résultat attendu). – svk

0

eigther utiliser mysqladmin (english version) ou vous pouvez utiliser un appel ajax (sur javascript) dans l'une de vos propres pages

+0

Y at-il un moyen de le rendre simple.Non vouloir installer et utiliser tous les fichiers de mysqladmin – svk

+0

Non, il n'y a pas de version partielle. Myasqladmin est une interface graphique gratuite pour tous les problèmes de DB possibles. – Thariama

2

Il semble que ce que vous voulez est passthru()

Selon the documentation, il va vider la sortie de la commande directement dans le navigateur. Cela étant dit, cela ressemble à une façon très fragile de faire des sauvegardes. Vous feriez mieux d'enregistrer le fichier sur le disque d'abord et de le télécharger séparément. Si vous voulez vraiment obtenir hacky avec elle si, essayez d'utiliser T pour écrire le fichier sur le disque lors de la diffusion en arrière au navigateur (avertissement, qui est en fait une idée encore pire)

+0

J'espère que sa page de sauvegarde est vraiment bien sécurisée, je ne voudrais pas que des gens au hasard accèdent directement à mes sauvegardes de bases de données ... – RageZ

+0

@RageZ: convenu. C'est probablement un de ces moments où ce qui était demandé n'est pas vraiment ce qui est recherché – grncdr

+0

Il retourne aussi le zip vide. Je n'ai pas obtenu le résultat – svk