it-swarm.com.de

Muss ich WP_Filesystem verwenden, um eine herunterladbare Datei im laufenden Betrieb zu erstellen?

Ich habe eine Methode, die eine herunterladbare CSV im laufenden Betrieb erstellt, wenn auf eine Schaltfläche geklickt wird:

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();

Wenn ich die Klassendatei über PHP Code Sniffer ausführe, erhalte ich die folgenden Warnungen:

 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()

Soweit ich weiß, ist WP_Filesystem für den Umgang mit Dateien auf dem Server erforderlich. Ich würde gerne wissen, ob es beim Erstellen von herunterladbaren Dateien im laufenden Betrieb erforderlich ist, wie in meinem obigen Beispiel. Wenn ja warum?

5
user3574603

Nein.

Denken Sie daran, dass der Code-Sniffer ein begrenztes Dienstprogramm ist, das mit einer sehr simplen Syntaxanalyse des PHP -Codes arbeitet und nur sehr wenig Kontextwissen besitzt. Aus diesem Grund sollten Sie es als Beratung verwenden, ein Tool, das Sie anweisen soll, einen Teil Ihres Codes zu überdenken, und nicht als "Quelle der Wahrheit" in Bezug auf die Codequalität.

Sobald Sie entschieden haben, dass Ihr Code gut ist, "maskieren" Sie die Fehlererzeugung mit einer der Möglichkeiten, die der Sniffer bietet, damit Sie nicht die ganze Zeit nerven und andere Probleme verbergen.

2
Mark Kaplun