在电子邮件中发送下载的页面URL并在同一窗口中打开此URL

时间:2013-05-26 18:48:25

标签: php file email download

我有download.php个文件:

 $file = // path to file 


    if ( file_exists($file) ) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/vnd.ms-excel'); 
        header('Content-Disposition: attachment; filename=myfile.csv'); 
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        readfile($file);


        exit;
    }

因此,如果打开http://mysite.com/download.php,则会下载csv文件。

我想在电子邮件中发送此网址,为此我这样做:

    $to = // recipient
    $title = // msg title
    $download_url = 'http://mysite.com/download.php';
    $msg = 'some text <a href="'.$download_url.'" target="_self">download file</a>';

    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

    mail($to, $title, $msg, $headers);

我的问题是:点击“下载文件”链接(在电子邮件中),在浏览器中打开另一个窗口。

问题:有可能不打开另一个,但保持相同的窗口,所以下载文件?

1 个答案:

答案 0 :(得分:0)

我认为,这将由您的网络客户端(如outlook)处理。您没有访客邮件客户端的影响。