Busca la funcion que necesitas!

jueves, 3 de marzo de 2011

PHP POO - Clase para extraer url entera, dominio y protocolo

Esta clase la hize para un compañero, extrae el dominio, protocolo y url entera de un enlace proporcionado, les comparto el código.

  <?php
/*
  Autor linkgl
  3/03/11
  funcion-linkgl.blogspot.com
                                */
class URL
{
  public $dominio;
  var $protocolo,$almacen,$aplica,$buffer;
  //extrae el dominio de una url
  public function __construct($dom)
  {
    $this->dominio=$dom;
    $this->almacen=explode("/",$this->dominio);
    if(strpos($this->dominio,"//")!==false)
    {
      echo $this->almacen[2]."<br>";
    }
    else
    {
      echo $this->almacen[0]."<br>";
    }
  }
  //extrae el protocolo (http, https, ftp...)
  public function extraerPROTOCOLO()
  {
    if(strpos($this->dominio,"//")!==false)
    { 
      $this->protocolo=explode("//",$this->dominio);
      echo $this->protocolo[0]."<br>";
    }
    else
    {
      echo "No se encontro el protocolo <br>";
    }
  }
  //extrae las carpetas de la url /archivos/blabla/algo.php?id=45
  public function extraerCARPETAS()
  {
    $this->aplica=explode("/",$this->dominio);
    if(strpos($this->dominio,"//")!==false)
    {
      for($i=3;$i<count($this->aplica)-1;$i++)
      {
        $this->buffer.=$this->aplica[$i]."/";
      }
      $this->buffer.=$this->aplica[count($this->aplica)-1];
    }
    else
    {
      for($i=1;$i<count($this->aplica)-1;$i++)
      {
        $this->buffer.=$this->aplica[$i]."/";
      }
      $this->buffer.=$this->aplica[count($this->aplica)-1];
    }
    echo $this->buffer."<br>";
  }
}

//Ejemplo de uso
$obj=new URL("linkgl.com/hola/archivos/linkgl_es_guapisimo/data.php?hola_indetectables");
$obj->extraerPROTOCOLO();
$obj->extraerCARPETAS();
?>

No hay comentarios:

Publicar un comentario