Question

J'étais dans le processus en vérifiant certains de mes plugins existants pour tout accès de système de fichiers dangereux, lorsque j'ai rencontré Wp_image_editor's save fonction, qui appelle _save, qui appelle enfin make_image (dessous). Wp_image_editor a été libéré dans WP 3.5, tandis que le Filesystem API est là depuis WP 2.6, je suppose donc que le raisonnement est lié aux spécificités du cas d'utilisation plutôt que de ne pas être modifiés pour répondre aux nouvelles normes.

protected function make_image( $filename, $function, $arguments ) {
    if ( $stream = wp_is_stream( $filename ) ) {
        ob_start();
    } else {
        // The directory containing the original file may no longer exist when using a replication plugin.
        wp_mkdir_p( dirname( $filename ) );
    }

    $result = call_user_func_array( $function, $arguments );

    if ( $result && $stream ) {
        $contents = ob_get_contents();

        $fp = fopen( $filename, 'w' );

        if ( ! $fp )
            return false;

        fwrite( $fp, $contents );
        fclose( $fp );
    }

    if ( $stream ) {
        ob_end_clean();
    }

    return $result;
}

Ma question est, quelles sont les raisons à cela? Selon Otto, L'accès directement au système de fichiers est mauvais, alors quelles sont les exceptions qui le font bien dans ce cas? Je veux que mes plugins se comportent de la meilleure façon possible, mais cela rend les meilleures pratiques un peu difficiles à discerner.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top