0

このコードで私が行うことは次のとおりです。復元するバックアップを選択するようにユーザーに依頼します(チェック) ユーザーが「送信」ボタンを押すと、ファイルがサーバーのローカルカーペットに移動します(チェック) システム関数を呼び出して呼び出しますローカルサーバーにあるsqlファイルを復元するmysql.exe(ここで問題)

<?php

if($_FILES['enviar']){
$file_name="Respaldo.sql";
move_uploaded_file($_FILE['enviar']['tmp_name'],"Backups/$file_name");
$batche=system("C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test < C:/WAMP/WWW/Backups/respaldo.sql");
echo $batche;

}
?>

この「C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test < C:/WAMP/WWW/Backups/respaldo.sql」をWindowsシェルに正確にコピーすると、バックアップが復元されます何の問題もなく, 何か助けて?..ありがとう

- - 編集 - -

問題は、システム関数を呼び出すと復元タスクが実行されず、DB が空のままになることです。

4

1 に答える 1

0
$batche=system("C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test < C:/WAMP/WWW/Backups/respaldo.sql");

上記のコードの代わりに、次のように置き換えます。

$batche=**shell_exec** ("C:/WAMP/BIN/MYSQL/MYSQL5.5.24/bin/mysql.exe -u root test < C:/WAMP/WWW/Backups/respaldo.sql");
于 2014-02-21T05:02:18.130 に答える