Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/image-op.../classes
File: file-utils.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace ImageOptimization\Classes;
[2] Fix | Delete
[3] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[4] Fix | Delete
exit; // Exit if accessed directly.
[5] Fix | Delete
}
[6] Fix | Delete
[7] Fix | Delete
class File_Utils {
[8] Fix | Delete
public static function get_extension( string $path ): string {
[9] Fix | Delete
$locale = new Locale();
[10] Fix | Delete
$locale->set_utf_locale();
[11] Fix | Delete
[12] Fix | Delete
$extension = pathinfo( $path, PATHINFO_EXTENSION );
[13] Fix | Delete
[14] Fix | Delete
$locale->reset_to_original();
[15] Fix | Delete
[16] Fix | Delete
return $extension;
[17] Fix | Delete
}
[18] Fix | Delete
[19] Fix | Delete
public static function get_basename( string $path ): string {
[20] Fix | Delete
$locale = new Locale();
[21] Fix | Delete
$locale->set_utf_locale();
[22] Fix | Delete
[23] Fix | Delete
$basename = pathinfo( $path, PATHINFO_BASENAME );
[24] Fix | Delete
[25] Fix | Delete
$locale->reset_to_original();
[26] Fix | Delete
[27] Fix | Delete
return $basename;
[28] Fix | Delete
}
[29] Fix | Delete
[30] Fix | Delete
public static function replace_extension( string $path, string $new_extension, bool $unique_filename = false ): string {
[31] Fix | Delete
$locale = new Locale();
[32] Fix | Delete
$locale->set_utf_locale();
[33] Fix | Delete
[34] Fix | Delete
$path = pathinfo( $path );
[35] Fix | Delete
$basename = sprintf( '%s.%s', $path['filename'], $new_extension );
[36] Fix | Delete
[37] Fix | Delete
if ( $unique_filename ) {
[38] Fix | Delete
$basename = wp_unique_filename( $path['dirname'], $basename );
[39] Fix | Delete
}
[40] Fix | Delete
[41] Fix | Delete
$locale->reset_to_original();
[42] Fix | Delete
[43] Fix | Delete
return sprintf( '%s/%s', $path['dirname'], $basename );
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
public static function get_unique_path( string $path ): string {
[47] Fix | Delete
$locale = new Locale();
[48] Fix | Delete
$locale->set_utf_locale();
[49] Fix | Delete
[50] Fix | Delete
$path = pathinfo( $path );
[51] Fix | Delete
$basename = sprintf( '%s.%s', $path['filename'], $path['extension'] );
[52] Fix | Delete
[53] Fix | Delete
$locale->reset_to_original();
[54] Fix | Delete
[55] Fix | Delete
return sprintf( '%s/%s', $path['dirname'], wp_unique_filename( $path['dirname'], $basename ) );
[56] Fix | Delete
}
[57] Fix | Delete
[58] Fix | Delete
public static function get_relative_upload_path( string $path ): string {
[59] Fix | Delete
$locale = new Locale();
[60] Fix | Delete
$locale->set_utf_locale();
[61] Fix | Delete
[62] Fix | Delete
$path = _wp_relative_upload_path( $path );
[63] Fix | Delete
[64] Fix | Delete
$locale->reset_to_original();
[65] Fix | Delete
[66] Fix | Delete
return $path;
[67] Fix | Delete
}
[68] Fix | Delete
[69] Fix | Delete
public static function get_url_from_path( string $full_path ): string {
[70] Fix | Delete
$locale = new Locale();
[71] Fix | Delete
$locale->set_utf_locale();
[72] Fix | Delete
[73] Fix | Delete
$upload_info = wp_upload_dir();
[74] Fix | Delete
$url_base = $upload_info['baseurl'];
[75] Fix | Delete
[76] Fix | Delete
$parts = preg_split(
[77] Fix | Delete
'/\/wp-content\/uploads/',
[78] Fix | Delete
$full_path
[79] Fix | Delete
);
[80] Fix | Delete
[81] Fix | Delete
$locale->reset_to_original();
[82] Fix | Delete
[83] Fix | Delete
return $url_base . $parts[1];
[84] Fix | Delete
}
[85] Fix | Delete
[86] Fix | Delete
public static function format_file_size( int $file_size_in_bytes, $decimals = 2 ): string {
[87] Fix | Delete
$sizes = [
[88] Fix | Delete
__( '%s Bytes', 'image-optimization' ),
[89] Fix | Delete
__( '%s Kb', 'image-optimization' ),
[90] Fix | Delete
__( '%s Mb', 'image-optimization' ),
[91] Fix | Delete
__( '%s Gb', 'image-optimization' ),
[92] Fix | Delete
];
[93] Fix | Delete
[94] Fix | Delete
if ( ! $file_size_in_bytes ) {
[95] Fix | Delete
return sprintf( $sizes[0], 0 );
[96] Fix | Delete
}
[97] Fix | Delete
[98] Fix | Delete
$current_scale = floor( log( $file_size_in_bytes ) / log( 1024 ) );
[99] Fix | Delete
$formatted_value = number_format( $file_size_in_bytes / pow( 1024, $current_scale ), $decimals );
[100] Fix | Delete
[101] Fix | Delete
return sprintf( $sizes[ $current_scale ], $formatted_value );
[102] Fix | Delete
}
[103] Fix | Delete
}
[104] Fix | Delete
[105] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function