前几天刚给Z-blog的用户中心插件插手了导出邀请码并以文件的形式举办下载的成果,用户们反馈过来的利用结果不错,所以本日无事,就把部份代码发出来,做个条记。代码已举办测试,安详可用,有需要的小同伴可以直接拿去用就可以。
PHP生成文件并下载的代码代码如下:
<?php header("Content-Type: application/octet-stream"); $center= '这里是需要生成文件的内容'; $ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "mochu.txt";//生成的文件名 $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20", $encoded_filename); if (preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']) ) { header('Content-Disposition: attachment; filename="' . $encoded_filename . '"'); } elseif (preg_match("/Firefox/", $_SERVER['HTTP_USER_AGENT'])) { // header('Content-Disposition: attachment; filename*="utf8' . $filename . '"'); header('Content-Disposition: attachment; filename*="' . $filename . '"'); } else { header('Content-Disposition: attachment; filename="' . $filename . '"'); } echo $center; ?>以上就是PHP代码生成文件并下载的成果代码,在火狐,谷歌,IE10以上的欣赏器内测试正常。
可以变动成下载其它名目文件个中下载的文件后缀名可以变动,好比下载CSV名目标文件,
代码如下
$filename = "mochu.txt";//生成的文件名变动后的代码
$filename = "mochu.csv";//生成的文件名拦截下载假如没有内容可供用户下载,我们可以在执行下载成果前举办拦截操纵,上面的代码可以修改一下,详细代码如下
代码
假如没有内容可供下载,你可以判定内容是否为空的代码内里插手美化后的HTML代码举办提示,也可以加载提示页面的形式展示给用户。
留意事项留意:由于以上代码是在靠山举办,下载文件的时候需要打开一个新的页面才执行下载,所以在前端请求的时候,不能以AJAX的方法举办请求,要以A链接新开页打开方法,或form提交的方法请求。