如何保存MySQL转储到一个变量从php


How to save a MySQL dump into a variable from php?

当然可以生成一个转储文件,然后读取该文件并放入一个变量中。但是是否有一种方法可以检索转储并直接放入变量中呢?谢谢!

您可以使用shell_exec()或exec(),但将所有输出设置为变量是坏主意。

exec('mysqldump --user=your_user --password=your_pass --host=your_host DATABASENAME > /path/dump.sql');

您可以使用exec,并在它完成工作后使用file_get_contents()打开文件

:

http://pl1.php.net/exec

http://pl1.php.net/manual/en/function.exec.php

http://pl1.php.net/manual/en/function.shell-exec.php

mysqldump是一个应该在BIN目录下的程序

您可以使用shell_exec运行它。

则所有的输出都放入PHP变量中。

http://nl3.php.net/shell_exec

编辑,但请注意,shell_exec的输出缓冲区不是无限制的。因此,如果DB增长得非常大,您将达到它无法再正常工作的时刻。把它放到变量中也会把它放到内存中。如果您有一个大的数据库,这可能会占用大量内存。

我建议将其写入文件,并在php中需要时直接输出