Función PHP que añade un carácter al final si no existe

Hoy os propongo esta pequeña función que a mí me ahorra muchos disgustos. Se trata de una función que toma una cadena, comprueba si tiene el carácter ‘/’ al final y lo añade si no lo tiene.

Por ejemplo:

poner_barra_final("/home/gorka"); ---> "/home/gorka/"
poner_barra_final("/home/gorka/"); ---> "/home/gorka/"

De esta forma me aseguro que todas las carpetas tienen una barra al final y no tengo que preocuparme de si ya tienen la dichosa barra o no. Así me evito cosas como:

/home/gorka//

que en algunas situaciones ha sido fuente de errores.

La función:

function poner_barra_final($texto)
{
	if ((strrpos($texto, '/')+1)!=strlen($texto))
		$texto .= '/';
	return $texto;
}

Explicación:

La función strrpos (con dos ‘r’) devuelve la posición de la última aparición de ‘/’.

strlen cuenta el número de caracteres de la cadena.

Si no coinciden ambos valores (sumando uno al primer valor) quiere decir que el último carácter no es una ‘/’ así que la añado.

Deja un comentario