Как отправить php сгенерированную резервную копию веб-сайта на электронную почту вместо загрузки в систему - PullRequest
0 голосов
/ 12 июля 2020

У меня есть этот php код

.....................
        
        $query = "SELECT * FROM $table";
        $result = mysqli_query($conn, $query);
        
  ......

        $sqlScript .= "\n"; 
    }
    ?>
    
    
    <?php
    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); 
    }

Этот PHP Код создает файл резервной копии базы данных и сохраняет его на устройстве. Я хочу отправить файл по электронной почте, вместо этого предполагая, что это мой адрес электронной почты. .

      $email = \Config\Services::email();
       $email->setFrom('', '');
       $email->setTo("$email_send");
       $email->setSubject('Today backup');
       $email->setMessage("$body");
       $email->send();

Пожалуйста, мне нужна помощь в этом

...