我对此代码的处理方式是: 我要求用户选择要恢复的备份(检查) 当用户点击“提交”按钮时,将文件移动到服务器的本地地毯(检查) 我调用System函数调用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&lt; C:/WAMP/WWW/Backups/respaldo.sql”复制到windows shell中它恢复备份没有任何问题,任何帮助?...谢谢
---- --- EDIT
问题是当我调用系统函数时它没有执行恢复任务,数据库仍然是空的。
答案 0 :(得分: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");