文件操作 - SVG.php
返回文件管理
返回主菜单
删除本文件
文件: /home/www/public/wp-content/plugins/the-events-calendar/common/src/Common/SVG/SVG.php
编辑文件内容
<?php /** * SVG class * * @since 6.10.0 * * @package TEC\Common\SVG */ declare( strict_types=1 ); namespace TEC\Common\SVG; use InvalidArgumentException; use Closure; use Exception; /** * SVG class * * @since 6.10.0 * * @package TEC\Common\SVG */ class SVG { /** * The namespaces and their paths. * * @since 6.10.0 * * @var array<string, string|Closure> */ private array $namespaces = []; /** * Register a namespace for a given path. * * @since 6.10.0 * * @param string $name_space The namespace to register. * @param string|Closure $path The path to the SVG files. * * @return void * * @throws InvalidArgumentException If the $path is not a string or a Closure. */ public function register_namespace( string $name_space, $path ): void { if ( ! is_string( $path ) && ! $path instanceof Closure ) { throw new InvalidArgumentException( 'The $path must be a string or a Closure.' ); } $this->namespaces[ $name_space ] = $path; uksort( $this->namespaces, // We want to sort the namespaces by longest to shortest. function ( $a, $b ) { return strlen( $b ) <=> strlen( $a ); } ); } /** * Get the SVG code for a given icon. * * @since 6.10.0 * * @param string $namespaced_path The namespaced path to the SVG file. * * @return string The SVG code for the given icon. */ public function get_svg( string $namespaced_path ): string { foreach ( $this->namespaces as $name_space => $path ) { if ( ! str_starts_with( $namespaced_path, $name_space ) ) { continue; } $path_without_namespace = ltrim( substr( $namespaced_path, strlen( $name_space ) ), '/' ); try { $path = trailingslashit( $path instanceof Closure ? (string) $path( $path_without_namespace ) : $path ); } catch ( Exception $e ) { return ''; } $full_path = $path . untrailingslashit( $path_without_namespace ) . '.svg'; if ( file_exists( $full_path ) ) { $svg = file_get_contents( $full_path ); // phpcs:ignore WordPressVIPMinimum.Performance.FetchingRemoteData.FileGetContentsUnknown return $svg ? $svg : ''; } break; } return ''; } }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件