Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 8 de 8

Tema: Clase para extraer url, protocolo y datos de la url en PHP

  1. #1
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    04 mar, 08
    Mensajes
    1,203
    Poder de Reputación
    24

    Clase para extraer url, protocolo y datos de la url en PHP

    Esta clase no la hize por gusto, fué para auxiliar a un amigo que necesitaba unas funciones que hicieran lo que dice el titulo, pasar una url como parametro y que las funciones cortaran el protocolo, dominio, y los datos despues del dominio

    Código:
    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("https://linkgl.com/hola/archivos/linkgl_es_guapisimo/data.php?hola_indetectables");
        $obj->extraerPROTOCOLO();
        $obj->extraerCARPETAS();
        ?>
    Devuelve:
    linkgl.com
    https://
    hola/archivos/linkgl_es_guapisimo/data.php?hola_indetectables

  2. #2
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    Ups, acabo de darme cuenta que no se php del todo. Me recuerdas que eso de las clases.... nunca lo entendí bien. Podrías explicarnoslo un poco si no es abusar? O si sabes de algún enlace en el que se vea claro.. he leido algo pero nunca termino de cogerlo.

    Gracias en cualquier caso linkgl!

  3. #3
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    04 mar, 08
    Mensajes
    1,203
    Poder de Reputación
    24
    Tranquilo siempre es un gusto explicar xD igual que mucha gente lo hizo para que yo lo entendiera cuando no lo sabía, pues cuando defines una clase quiere decir que estas programando de forma orientada a objetos POO(programacion orientada a objetos) una clase define a un objeto ejemplo:

    class caja -> define que caja es un objeto

    dentro del objeto hay funciones que realiza el objeto o propiedades por ejemplo el objeto caja tiene un ancho y alto y realiza la funcion de guardar cosas entonces interpretandolo en codigo seria

    class caja
    {
    var $juguetes;
    public function ancho()
    {
    $ancho=150px; //la caja mide 150px de ancho
    }
    public function guardar()
    {
    $this->juguetes="carros"; //y guarda carritos
    }
    }

    es masomenos una forma de explicarte aunque esa clase es inútil se pueden hacer clases que sirvan de algo un ejemplo?

    puedes hacer una clase llamada usuario, entonces haces las funciones del objeto usuario, que serian un usuario se puede registrar, loguearse, cerrar sesion etc etc entonces lo haces

    class usuario
    ...
    function registrar()
    ...
    function iniciar_sesion()
    ...

    etc, etc

    Esto esta muy superficial pero puedes estudiar bien POO en php en http://phpya.com.ar/poo/ ahí aprendí yo. jeje Saludos!

  4. #4
    Administrador CCTW Webmaster de CCTWHabitante Avatar de Jorgens_CCTW
    Fecha de Ingreso
    30 ene, 11
    Ubicación
    Cartagena, Murcia, España.
    Mensajes
    1,184
    Poder de Reputación
    10
    Hey! lo entendí! je je je.

    Voy a cotillear en ese enlace. Joer, esto es un nunca acabar! juas

    Edito, es un enlace genial! Voy a comérmelo!

  5. #5
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    04 mar, 08
    Mensajes
    1,203
    Poder de Reputación
    24
    Así es un mundo de nunca acabar cuanto más aprendes más te das cuenta que te falta demasiado por aprender x_x

  6. #6
    Esto empieza a ser un vicio... Habitante Avatar de victor5atodogas
    Fecha de Ingreso
    19 abr, 10
    Ubicación
    Zaragoza (España)
    Mensajes
    1,657
    Poder de Reputación
    23
    Joer...cuanto me queda por aprender en esto!!
    Tienda de Productos de mascotas (perros, gatos, roedores, reptiles, pajaros, peces, tarjetas regalo, cestas...) a los mejores precios El Universo del perro Sigue a El Universo del Perro en Facebook

    Si quieres montar tu tienda con Prestashop y necesitas que te ayude puedes preguntarme, tambien ofrezco buenos precios para instalacion, configuracion, etc para tu nueva tienda.

  7. #7
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    28 jun, 08
    Mensajes
    498
    Poder de Reputación
    20
    Interesante La clase, buena para desarrollar y practicar, pero php ya cuenta con una funcion que hace todo y eso y un poco mas, se trata de perse_url(); Muy util para quienes trabajan con urls.

    http://php.net/manual/es/function.parse-url.php

    Código:
    <?php
    $url = 'http://username:password@hostname/path?arg=value#anchor';
    
    print_r(parse_url($url));
    
    ?>
    La funcion retorna un array() con los siguientes valores:
    Código:
    Array
    (
        [scheme] => http
        [host] => hostname
        [user] => username
        [pass] => password
        [path] => /path
        [query] => arg=value
        [fragment] => anchor
    )

  8. #8
    Me va gustando esto... Habitante
    Fecha de Ingreso
    23 mar, 11
    Ubicación
    Cali, Colombia
    Mensajes
    68
    Poder de Reputación
    14
    Si utilizan los tags [ PHP] y [/PHP] en lugar de [ CODE] y [/CODE] se vería muy bonito el código, pedazo de melones.
    Pienso, comparto, aprendo, luego creo

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •