(直接下载那个字符串在客户端生成一个文本文件,而不经过在服务器端上生成文件)
是把服务器的字符串放入客户端新建的文本文件,在客户端操作的一般用js,但你想在客户端生成文件是右局限性的,除非你把安全级别设置为最低,才能用js操作客户端的文件读写
fso = new ActiveXObject("Scripting.FileSystemObject");

解决方案 »

  1.   

    使用header函数将文档类型发送
    然后直接each字符串内容,对应客户端显示就是文件下载
    其实服务器端并没有文件完整的header头包括:
    Content-Encoding:
    Cache-Control:
    Content-Length:
    Content-Disposition:
    Content-Type:设置Content-Type为application/octet-stream
    Content-Disposition为attachmet,filename设置成想要在客户端保存的默认文件名在设置并发送过header之后,就可以直接echo文件内容header之前程序不能有任何输出,否则header会失败。
      

  2.   

    if (!headers_sent()) {
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".filesize($file));
    Header("Content-Disposition: attachment; filename=" . basename($file));
    // 输出内容
    echo $string;
    exit;
    }
      

  3.   

    不好意思,这个是拿文件下载改的,上面那个有些地方没改,改过的程序没有测试过,仅供参考
    strlen($string)这个地方,要改一下,因为strlen是计算字符数的,要改为计算字节数的函数if (!headers_sent()) {
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".strlen($string));
    Header("Content-Disposition: attachment; filename=" . $filename);
    // 输出内容
    echo $string;
    exit;
    }