使用JQuery和PHP创建和下载文本文件

时间:2015-03-14 08:38:02

标签: php jquery ajax

我想对PHP函数进行AJAX调用,创建一个txt文件并下载它。

 if (isset($_POST["download_file"]))
{
    $filename = "sequence.txt";
    $f = fopen($filename, 'w');
    $content="q";
    fwrite($f, $content);
    fclose($f);
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Length: ". filesize("$filename").";");
    header("Content-Disposition: attachment; filename=$filename");
    header("Content-Type: application/octet-stream; "); 
    header("Content-Transfer-Encoding: binary");
    readfile($filename);
}

这是我的PHP代码,这里是AJAX代码

$.ajax(
{
        url:"./apis/download_seq.php",
        data:{download_file:"true",sequence:seq},
        type: 'POST',
        success:function(data){
        }
});

这是AJAX调用。问题是我当前的代码将文件保存在服务器上。就像它在我的PHP文件所在的目录中创建sequence.txt文件一样。 我想将它下载到客户端,即我的浏览器。

1 个答案:

答案 0 :(得分:1)

我在PHP方面有点不对,但对于PHP方面来说是这样的:

可以跳过此部分:

$f = fopen($filename, 'w');
$content="q";
fwrite($f, $content);
fclose($f);

如果文件不是很大,你可以用简单的变量替换它:

$text = "q";
$text = $text."new text";

最后:

readfile($filename);

替换为:

echo($text);

我没有测试过这个:)所以做一个测试。

对于Jquery部分,那里有很多答案: Download File Using Javascript/jQuery