Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Tiempo de ejecución de un Script PHP
#1
Para esto crearemos 2 paginas 1: pagina1.php y la 2:

Nombre del archivo:pagina1.php

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tiempo de ejecución de un Script PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
require("rutinas.php");
$te=new TiempoEjecucion();

phpinfo();

echo 'Tiempo de ejecución del Script PHP:';
$te->imprimir();
?>
</body>
</html>

Comentarios
Importamos el archivo que contiene la clase TiempoEjecucion:
require("rutinas.php");
Creamos un objeto de la clase TiempoEjecucion
$te=new TiempoEjecucion();

En nuestro ejemplo calculamos el tiempo de ejecución de la función phpinfo:
phpinfo();

echo 'Tiempo de ejecución del Script PHP:';
$te->imprimir();
?>

Nombre del archivo:rutinas.php

Código:
<?php
class TiempoEjecucion {
  private $tiempoInicio;
  private $tiempoFin;
  public function __construct()
  {
    $this->tiempoInicio=$this->actual();
  }
  private function actual()
  {
    $hora=microtime();
    $hora=explode(' ',$hora);
    $ac=$hora[1]+$hora[0];
    return $ac;
  }
  public function calcular()
  {
    $dif=$this->actual()-$this->tiempoInicio;
    return $dif;
  }
  public function imprimir()
  {
    echo $this->calcular();
  }
}
?>

Comentarios
La clase TiempoEjecucion tiene por objetivo calcular un lapso de tiempo desde que creamos un objeto de
esta clase hasta que llamamos al método imprimir o calcular.
Definimos dos atributos:
private $tiempoInicio;
private $tiempoFin;
donde se almacenan el tiempo de inicio y el tiempo de fin.
El constructor inicializa el atributo $tiempoInicio:
public function __construct()
{
$this->tiempoInicio=$this->actual();
}
La clase cuenta con un método privado que calcula la hora actual:
private function actual()
{
$hora=microtime();
$hora=explode(' ',$hora);
$ac=$hora[1]+$hora[0];
return $ac;
}
La función microtime retorna un string con dos valores numericos que representan la cantidad de
segundos que han pasado desde el primero de enero de 1970 y la fracción de segundo actual.
Mediante la función explode obtenemos un vector con dos elementos, separando los segundos y la
fracción de segundo. El segundo elemento almacena la cantidad de segundos y el primer elemento
la fracción de segundo.
Sumamos estos dos valores y retornamos dicho valor.

El método calcular:
public function calcular()
{
$dif=$this->actual()-$this->tiempoInicio;
return $dif;
}
Retorna la diferencia entre la hora actual y la hora que se inicializó en el constructor.

Por último el método imprimir muestra el tiempo transcurrido:
public function imprimir()
{
echo $this->calcular();
}

Esto fue todo aqui le dego una pequeña demo: Clic Aqui

Cita:Nota: debes bajar hasta abajo para ver la carga.


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Conexion ios script php efbsfcd 0 95 08-05-2018, 06:59 AM
Último mensaje: efbsfcd
Exclamación [Duda] Error en script CarlosAlberto 3 412 03-01-2017, 12:17 AM
Último mensaje: CarlosAlberto
  Script PHP Web Porno CarlosAlberto 4 586 01-12-2016, 10:05 PM
Último mensaje: zeuz
  [Duda] con photoswipe script web carlsmartg 3 464 24-08-2016, 09:19 PM
Último mensaje: Rodrigo Soto
  Estadísticas gratuitos en tiempo real para su sitio web o blog. canpios 2 503 01-02-2015, 09:03 AM
Último mensaje: habacuc78
  script simple para embeber videos en sitio canpios 1 432 18-01-2015, 05:58 AM
Último mensaje: garcon
  script bueno para secuencia imagenes canpios 7 912 19-12-2014, 06:01 AM
Último mensaje: amplox
  Script personalizable en PHP para subir una imagen al servidor torgar22 0 870 23-11-2014, 11:26 PM
Último mensaje: torgar22
Fotografía [Script] Galería de imágenes, multi upload, paginación, sin Base de Datos DarkMaster 44 6,950 22-09-2013, 05:14 AM
Último mensaje: DarkMaster
  Problema con php script - AYUDA!!! alemagno 10 1,282 23-08-2013, 04:53 PM
Último mensaje: AbaddonOrmuz



Usuarios navegando en este tema: 1 invitado(s)