在动态创建可下载文件时,我需要使用WP_Filessystem吗?

时间:2018-03-31 作者:user3574603

我有一种方法,可以在单击按钮时动态创建可下载的CSV:

header( \'Content-type: text/csv\' );
header( \'Cache-Control: no-store, no-cache\' );
header( \'Content-Disposition: attachment; filename="email_list.csv"\' );

$outstream = fopen( \'php://output\', \'w\' );

fputcsv( $outstream, $csv->header );

foreach ( $csv->rows as $row ) {
    fputcsv( $outstream, $row );
}

fclose( $outstream );

exit();
当我通过PHP代码嗅探器运行类文件时,我得到以下警告:

 63 | WARNING | File operations should use WP_Filesystem methods instead of
    |         | direct PHP filesystem calls. Found: fopen()
 71 | WARNING | File operations should use WP_Filesystem methods instead of
    |         | direct PHP filesystem calls. Found: fclose()
据我所知WP_Filesystem 在处理服务器上的文件时需要。我想知道,在动态创建可下载文件时,是否有必要像上面的示例一样。如果是,为什么?

1 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

请记住,代码嗅探器是一个有限的实用程序,它对PHP代码进行非常简单的解析,并且几乎没有上下文知识。因此,您应该将其作为一种建议,一种指导您重新考虑代码部分的工具,而不是作为有关代码质量的“真实来源”。

一旦你确定你的代码是好的,用嗅探器提供的方法之一“屏蔽”错误的产生,这样它就不会一直困扰你并隐藏其他问题。

结束

相关推荐