可变PHP下载 - 头文件名?

ion*_*ish 6 html php header save

这个的正确语法是什么?

header('Content-Disposition: attachment; filename="{$_SESSION['name']} . '.txt');
Run Code Online (Sandbox Code Playgroud)

此文件有效,但只有在"查看源"(HTML未格式化但包含正确的换行符)时才能正常工作.

<?php
header("Content-type: text/html");
session_start();
    if(file_exists("chat") && filesize("chat") > 0){
        $handle = fopen("chat", "r");
        $contents = fread($handle, filesize("chat"));
        fclose($handle);
        ob_start();
$download = strip_tags($contents, '<br>');
$processed = preg_replace('#<br\s*/?>#i', "\n", $download);
echo $processed;
$var = ob_get_clean();
echo $var;
    }
?>
Run Code Online (Sandbox Code Playgroud)

$_SESSION['name']变量是一样的东西guest_158512,如果你查看我试图保存页面的源代码,它拥有所有的换行符.如何guest_158512.txt使用正确的语法保存当前页面?

Bor*_*lid 9

你的问题在于你试图使用单引号.单引号不会在PHP中插入变量.

您也未能正确终止字符串,可能是因为在其中放入了更多的单引号.尝试:

header('Content-Disposition: attachment; filename="'.$_SESSION['name'].'.txt"');
Run Code Online (Sandbox Code Playgroud)

Kolink还指出,您应该使用Content-Type: text/plain纯文本非HTML文件.