0

我对这段代码所做的是:我要求用户选择要恢复的备份(检查)当用户点击“提交”按钮时,将文件移动到服务器的本地地毯(检查)我调用系统函数来调用mysql.exe 恢复本地服务器中的sql文件(这里有问题)

<?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 shell 中,它会恢复备份没有任何问题,任何帮助?..谢谢

- - 编辑 - -

问题是当我调用系统函数时它不执行恢复任务,数据库仍然是空的。

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 回答