Domanda

Ero nel processo controllando alcuni dei miei plugin esistenti per qualsiasi accesso al filesystem non sicuro, quando mi sono imbattuto Wp_image_editor'S save funzione, che chiama _save, che finalmente chiama make_image (sotto). Wp_image_editor è stato rilasciato in WP 3.5, mentre il Filesystem API è in circolazione da allora WP 2.6, quindi presumerei che il ragionamento sia correlato ai dettagli del caso d'uso piuttosto che non essere modificato per soddisfare nuovi standard.

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;
}

La mia domanda è: quali sono le ragioni per questo? Secondo Otto, L'accesso direttamente al filesystem è malvagio, quindi quali sono le eccezioni che lo fanno bene in questo caso? Voglio che i miei plugin si comportino nel miglior modo possibile, ma questo rende le migliori pratiche un po 'difficili da discernere.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top