php – Array-to-CSV-export功能在WordPress-plugin中面临一个问题

前端之家收集整理的这篇文章主要介绍了php – Array-to-CSV-export功能在WordPress-plugin中面临一个问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的插件页面中使用了一个简单的数组到CSV导出功能生成报告.

当我运行此代码时,我收到一个错误,它将导出整个html内容以及我期望的数组.

这是我的代码

@H_403_5@function convert_to_csv($input_array,$output_file_name,$delimiter) { clearstatcache(); /** open raw memory as file,no need for temp files */ $temp_memory = fopen('PHP://memory','w'); /** loop through array */ foreach ($input_array as $line) { /** default PHP csv handler **/ fputcsv($temp_memory,$line,$delimiter); } //echo '<pre>'; //print_r($temp_memory); exit; /** rewrind the "file" with the csv lines **/ fseek($temp_memory,0); /** modify header to be downloadable csv file **/ header('Content-Type: application/csv'); header('Content-Disposition: attachement; filename="' . $output_file_name . '";'); /** Send file to browser for download */ fpassthru($temp_memory); } /** Array to convert to csv */ $array_to_csv = Array( Array(12566,'Enmanuel','Corvo' ),Array(56544,'John','Doe' ),Array(78550,'Mark','Smith' ) ); clearstatcache(); convert_to_csv($array_to_csv,'report.csv',',');
我猜测在调用函数后WP正在进行正常操作,因此您将在CSV之后获得HTML模板输出.在fpassthru之后输入一个退出语句应该这样做,但是你需要小心,这不会搞乱wordpress在每个页面响应结束时所做的任何事情.例如,Drupal有一个drupal_exit()函数用于此目的.我不太熟悉WP以确定,但 wp_die() function的文档表明你可以使用PHP退出而没有太多问题

猜你在找的PHP相关文章