¿Cómo obtener una extensión de archivo en PHP?

En este artículo, aprenderemos cómo obtener las extensiones de archivo actuales en PHP.

Input  : c:/xampp/htdocs/project/home
Output : ""

Input  : c:/xampp/htdocs/project/index.php
Output : ".php"

Input  : c:/xampp/htdocs/project/style.min.css
Output : ".css"

Usando $_SERVER[‘SCRIPT_NAME’]: 

$_SERVER es una array de información almacenada, como encabezados, rutas y ubicaciones de secuencias de comandos. Estas entradas son creadas por el servidor web. No hay otra manera de que cada servidor web proporcione esta información.

Sintaxis: 

 $_SERVER[‘SCRIPT_NAME’]
  • ‘SCRIPT_NAME’ proporciona la ruta desde la raíz para incluir el nombre del directorio.

Método 1: El siguiente método usa los métodos strpos() y substr() para imprimir los valores de las últimas ocurrencias.

PHP

<?php
function fileExtension($s) {
  // strrpos() function returns the position
  // of the last occurrence of a string inside
  // another string.
  $n = strrpos($s,".");
   
  // The substr() function returns a part of a string.
  if($n===false) 
    return "";
  else
    return substr($s,$n+1);
}
     
// To Get the Current Filename.
$currentPage= $_SERVER['SCRIPT_NAME'];
 
//Function Call
echo fileExtension($currentPage);
?>
Producción

php

Método 2: el siguiente método utiliza una función predefinida pathinfo() . En la salida, «Nombre:» muestra el nombre del archivo y «Extensión:» muestra la extensión del archivo.

código PHP: 

PHP

<?php   
   
// To Get the Current Filename.
$path= $_SERVER['SCRIPT_NAME'];
 
// path info function is used to get info
// of The File Directory
   
// PATHINFO_FILENAME parameter in
// pathinfo() gives File Name
$name = pathinfo($path, PATHINFO_FILENAME);
   
// PATHINFO_EXTENSION parameter in pathinfo()
// gives File Extension
$ext  = pathinfo($path, PATHINFO_EXTENSION);
   
echo " Name: ", $name;
echo "\n Extension: ", $ext;
 
?>
Producción

 Name: 001510d47316b41e63f337e33f4aaea4
 Extension: php

Método 3: el siguiente código utiliza la función predefinida parse_url() y pathinfo() para las direcciones URL.

código PHP: 

PHP

<?php
  // This is sample url
  $url =
"http://www.xyz.com/dir/file.index.php?Something+is+wrong=hello";
   
  // Here parse_url is used to return the
  // components of a URL
  $url = parse_url($url);
   
  // path info function is used to get info
  // of The File Directory
   
  // PATHINFO_FILENAME parameter in pathinfo()
  // gives File Name
  $name = pathinfo($url['path'], PATHINFO_FILENAME);
 
  // PATHINFO_EXTENSION parameter in pathinfo()
  // gives File Extension
  $ext  = pathinfo($url['path'], PATHINFO_EXTENSION);
 
  echo " Name: ", $name;
  echo "\n Extension: ", $ext;
?>
Producción

 Name: file.index
 Extension: php

Publicación traducida automáticamente

Artículo escrito por mayankmohak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *