正在将生成的sql文件保存到PHP脚本文件夹

kokeuurv  于 2023-01-19  发布在  PHP
关注(0)|答案(1)|浏览(140)

我有一个生成MySQL数据库备份的PHP脚本。
在Web浏览器上执行PHP,提示用户下载生成的sql文件。
下面是生成sql文件并提示下载生成的sql文件的代码:

if(!empty($sqlScript))
{
    // Save the SQL script to a backup file
    $backup_file_name = $database_name . '_backup_' . time() . '.sql';
    $fileHandler = fopen($backup_file_name, 'w+');
    $number_of_lines = fwrite($fileHandler, $sqlScript);
    fclose($fileHandler); 

    // Download the SQL backup file to the browser
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($backup_file_name));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($backup_file_name));
    ob_clean();
    flush();
    readfile($backup_file_name);
    exec('rm ' . $backup_file_name); 
}

我不需要下载文件,我需要的是每x天执行一次PHP文件,并将生成的sql文件保存在同一个服务器文件夹中。
我可以使用cron作业来启动PHP文件,我唯一需要的是改变上面的代码,以便将生成的SQL文件保存在同一个脚本文件夹中。

kgsdhlau

kgsdhlau1#

删除尝试下载文件的所有内容。

if(!empty($sqlScript))
{
    // Save the SQL script to a backup file
    $backup_file_name = $database_name . '_backup_' . time() . '.sql';
    file_put_contents($backup_file_name, $sqlScript);
}

相关问题