PHP-使用strip_标记创建文件下载
这是我正在使用的代码:PHP-使用strip_标记创建文件下载,php,Php,这是我正在使用的代码: $fp = fopen($file, 'rb'); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=$fakeFileName"); header("Content-Length: " . filesize($file)); fpassthru($fp) 服务器上的实际文件也包含HTML内容,因此希望使用strip\u
$fp = fopen($file, 'rb');
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$fakeFileName");
header("Content-Length: " . filesize($file));
fpassthru($fp)
服务器上的实际文件也包含HTML内容,因此希望使用strip\u tags()
,但在这里似乎不起作用。尝试使用file\u get\u contents
+strip\u tags()
,但下载失败
我知道这与streams有关。我不确定哪一个函数能帮我摆脱文件中的html标记,并提供纯文本下载 这应该有效:
$filedata = file_get_contents($file) ; // Get file content as string
$filedata = strip_tags($filedata) ; // strip tag in the string
header("Content-Type: application/octet-stream") ;
header("Content-Disposition: attachment; filename=$fakeFileName") ;
header("Content-Length: " . strlen($filedata)) ; // final string size
echo $filedata ; // outputs content
exit(0) ; // stop script
您可能想阅读strip_标签的实际功能,但在您拥有要剥离标签的实际内容之前,您不能使用它。如果您只使用
文件获取内容($fakeFileName)
,那么会发生什么情况?是的,这应该可以工作。OP注意:这增加了不流式传输文件的缺点,因此可以达到内存限制,但我不确定使用PHP是否真的可以避免。更好的解决方案是预先对文件执行strip_标记,假设文件内容可以更改。