Foros del Web » Programando para Internet » PHP »

Optimizar script al máximo

Estas en el tema de Optimizar script al máximo en el foro de PHP en Foros del Web. * ¿Que puedo mejorar de este script para que sea mas simple y mas rapido? index.php Código PHP: <? function  LISTAR ( $c , $d ...
  #1 (permalink)  
Antiguo 06/05/2010, 19:38
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 18 años, 8 meses
Puntos: 0
Mensaje Optimizar script al máximo

* ¿Que puedo mejorar de este script para que sea mas simple y mas rapido?

index.php
Código PHP:
<?
function LISTAR($c,$d)
{
global 
$CARPETA;
$c=time() - filemtime($CARPETA.'/'.$c);  
$d=time() - filemtime($CARPETA.'/'.$d);

if(
$c==$d)
  {  
  return 
0;
  }

return (
$c < $d) ? -1 : 1;
}

// VARIABLES
$FECHA = $_GET['fecha'];
$RES = 'Resultados';
$APUESTAS = 'Apuestas';
$PRECIO = 5;
$IMPUESTO = 30;
$GASTOS = 10;
// VARIABLES


if(empty($FECHA))
{
  echo(
'<strong>Fechas</strong><br>');

  
// Mostrar fechas
  
$CARPETA = "$APUESTAS";
  
$dir = opendir($CARPETA);
  while (
$JUGADOR = readdir ($dir))
  {
  
$funcion[]=$JUGADOR;
  }

  
usort($funcion,"LISTAR");

  foreach(
$funcion as $NOMBRE)
  {
  if (
$NOMBRE != "." && $NOMBRE != "..")
    {
    
// Mostrar fechas
    
echo('<br><a href="index.php?fecha='. $NOMBRE .'"><strong>'. $NOMBRE .'</strong></a>');
    }
  }
  
closedir ($dir);
}

else
{
  
// VARIABLES
  
$RESULTADO  = file_get_contents("$RES/$FECHA");


  
// Codigo resultado
  
$explotado_r = explode(',',$RESULTADO);
  
$apuestas_r = array($explotado_r);
  foreach (
$apuestas_r as $todas_r)
  foreach (
$todas_r as $CODIGO)
    {
    
$NUMERO++;
    include(
'codigos.php');
    
$CODIGOS_R .= $CODIGO;
    }


  
// Reiniciar datos
  
$MAX = 0;
  
$GANADORES = 0;
  
$POZO = 0;
  
$NUMERO = 0;
  
$CODIGO = empty($CODIGO);
  
$NUMERO = 0;
 
  
  
// Mostrar fecha
  
echo('<strong>'. $FECHA .'</strong><br><br>');

  
// Tomar apuestas y comparar
  
$CARPETA = "$APUESTAS/$FECHA";
  
  
$dir = opendir($CARPETA);
  
$funcion = array();
  while (
$JUGADOR = readdir ($dir))
  {
  
$funcion[]=$JUGADOR;
  }

  
usort($funcion,"LISTAR");

  
// TOMAR DATOS
  
foreach($funcion as $NOMBRE)
  {
  if (
$NOMBRE != "." && $NOMBRE != "..")
    {
    
// Apuesta del jugador
    
$APUESTA = file_get_contents("$CARPETA/$NOMBRE");
    
    
// CODIGO
    
$NUMERO = 0;
    
$explotado = explode(',',$APUESTA);
    
$apuestas = array($explotado);
    foreach (
$apuestas as $todas);
    foreach (
$todas as $CODIGO)
      {
      
$NUMERO++;
      include(
'codigos.php');
      
$CODIGOS_C .= $CODIGO;
      }
    
// CODIGO
      
    // Aciertos del jugador
    
$ACIERTOS = similar_text($CODIGOS_R, $CODIGOS_C);
    
    
// Pozo acumulado
    
$POZO = $POZO + $PRECIO;
  
    
// Ganadores
    
if($MAX < $ACIERTOS)
      {
      
$MAX = $ACIERTOS;
      }
    }
  }
  
  
// Resetear datos
  
$CODIGOS_C = empty($CODIGOS_C);
  
  
// Mostrar titulo ganadores
  
echo('<strong><u>GANADORES</u></strong> ('. $ACIERTOS .' aciertos)<br>');
  

  
// BUSCAR GANADORES
  
foreach($funcion as $NOMBRE)
  {
  if (
$NOMBRE != "." && $NOMBRE != "..")
    {
    
// Apuesta del jugador
    
$APUESTA = file_get_contents("$CARPETA/$NOMBRE");

    
// CODIGO
    
$NUMERO = 0;
    
$explotado = explode(',',$APUESTA);
    
$apuestas = array($explotado);
    foreach (
$apuestas as $todas);
    foreach (
$todas as $CODIGO)
      {
      
$NUMERO++;
      include(
'codigos.php');
      
$CODIGOS_C .= $CODIGO;
      }
    
// Aciertos del jugador
    
$ACIERTOS = similar_text($CODIGOS_R, $CODIGOS_C);
    
    
// Ganadores
    
if($MAX == $ACIERTOS)
      {
      
$GANADORES++;
      echo(
'<strong>'. $GANADORES .'</strong> - '. $NOMBRE .'<br>');
      }
    }
  }
  
closedir ($dir);
  
  
// Cálculos
  
$GANANCIA = ($IMPUESTO * $POZO) / 100;
  
$PREMIO = ($POZO - $GANANCIA);
  
$ENTREGA = $PREMIO / $GANADORES;
  
$GANANCIA_F = $GANANCIA - $GASTOS;

  
// Pozo
  
echo('<br><strong><u>Pozo acumulado</u></strong><br>$'. round($POZO) .' ($'. $POZO .')');
  
  
// Premio
  
echo('<br><br><strong><u>Premios</u></strong><br>$'. round($PREMIO) .' ($'. $PREMIO .')');

  
// Premios
  
echo('<br><br><strong><u>Premio x Cliente</u></strong><br>$'. round($ENTREGA) .' ($'. $ENTREGA .')');

  
// Impuestos
  
echo('<br><br><strong><u>Ganancia</u></strong><br>$'. round($GANANCIA) .' ($'. $GANANCIA .')');
  
    
// Impuestos
  
echo('<br><br><strong><u>Ganancia final</u></strong><br>$'. round($GANANCIA_F) .' ($'. $GANANCIA_F .')');
}
?>
codigos.php
Código PHP:
<?
  
// CODIGOS
  
if($NUMERO == 1)
    {
    
$CODIGO = str_replace('L', 'a', $CODIGO);
    
$CODIGO = str_replace('E', 'b', $CODIGO);
    
$CODIGO = str_replace('V', 'c', $CODIGO);
    }
  if(
$NUMERO == 2)
    {
    
$CODIGO = str_replace('L', 'd', $CODIGO);
    
$CODIGO = str_replace('E', 'e', $CODIGO);
    
$CODIGO = str_replace('V', 'f', $CODIGO);
    }
  if(
$NUMERO == 3)
    {
    
$CODIGO = str_replace('L', 'g', $CODIGO);
    
$CODIGO = str_replace('E', 'h', $CODIGO);
    
$CODIGO = str_replace('V', 'i', $CODIGO);
    }
  if(
$NUMERO == 4)
    {
    
$CODIGO = str_replace('L', 'j', $CODIGO);
    
$CODIGO = str_replace('E', 'k', $CODIGO);
    
$CODIGO = str_replace('V', 'l', $CODIGO);
    }
  if(
$NUMERO == 5)
    {
    
$CODIGO = str_replace('L', 'm', $CODIGO);
    
$CODIGO = str_replace('E', 'n', $CODIGO);
    
$CODIGO = str_replace('V', 'ñ', $CODIGO);
    }
  if(
$NUMERO == 6)
    {
    
$CODIGO = str_replace('L', 'o', $CODIGO);
    
$CODIGO = str_replace('E', 'p', $CODIGO);
    
$CODIGO = str_replace('V', 'q', $CODIGO);
    }
  if(
$NUMERO == 7)
    {
    
$CODIGO = str_replace('L', 'r', $CODIGO);
    
$CODIGO = str_replace('E', 's', $CODIGO);
    
$CODIGO = str_replace('V', 't', $CODIGO);
    }
  if(
$NUMERO == 8)
    {
    
$CODIGO = str_replace('L', 'u', $CODIGO);
    
$CODIGO = str_replace('E', 'v', $CODIGO);
    
$CODIGO = str_replace('V', 'w', $CODIGO);
    }
  if(
$NUMERO == 9)
    {
    
$CODIGO = str_replace('L', 'x', $CODIGO);
    
$CODIGO = str_replace('E', 'y', $CODIGO);
    
$CODIGO = str_replace('V', 'z', $CODIGO);
    }
  if(
$NUMERO == 10)
    {
    
$CODIGO = str_replace('L', '1', $CODIGO);
    
$CODIGO = str_replace('E', '2', $CODIGO);
    
$CODIGO = str_replace('V', '3', $CODIGO);
    }
  if(
$NUMERO == 11)
    {
    
$CODIGO = str_replace('L', '4', $CODIGO);
    
$CODIGO = str_replace('E', '5', $CODIGO);
    
$CODIGO = str_replace('V', '6', $CODIGO);
    }
  if(
$NUMERO == 12)
    {
    
$CODIGO = str_replace('L', '7', $CODIGO);
    
$CODIGO = str_replace('E', '8', $CODIGO);
    
$CODIGO = str_replace('V', '9', $CODIGO);
    }
  if(
$NUMERO == 13)
    {
    
$CODIGO = str_replace('L', '*', $CODIGO);
    
$CODIGO = str_replace('E', '-', $CODIGO);
    
$CODIGO = str_replace('V', '+', $CODIGO);
    }
  if(
$NUMERO == 14)
    {
    
$CODIGO = str_replace('L', '<', $CODIGO);
    
$CODIGO = str_replace('E', '=', $CODIGO);
    
$CODIGO = str_replace('V', '>', $CODIGO);
    }
  if(
$NUMERO == 15)
    {
    
$CODIGO = str_replace('L', '[', $CODIGO);
    
$CODIGO = str_replace('E', '?', $CODIGO);
    
$CODIGO = str_replace('V', ']', $CODIGO);
    }
  if(
$NUMERO == 16)
    {
    
$CODIGO = str_replace('L', '{', $CODIGO);
    
$CODIGO = str_replace('E', '¿', $CODIGO);
    
$CODIGO = str_replace('V', '}', $CODIGO);
    }
  
// CODIGOS
  
?>
  #2 (permalink)  
Antiguo 06/05/2010, 19:57
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 21 años
Puntos: 19
Respuesta: Optimizar script al máximo

Ahm, no me puse a analizar detenidamente la funcionalidad, pero veo mucho codigo repetido..

por ejemplo desde el file_get_contents hasta similar_text.. podrias crear funciones para eso, serian menos lineas.. seria mas editable y portable tambien

despues en codigos.php..

Código PHP:
Ver original
  1. $search=array('L', 'E', 'V');
  2.  
  3. if($NUMERO==1)
  4.   $replace=array('a', 'b', 'c');
  5. if($NUMERO==2)
  6.   ...
  7.  
  8. $CODIGO=str_replace($search, $replace, $CODIGO);

saludos
  #3 (permalink)  
Antiguo 07/05/2010, 09:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 20 años, 4 meses
Puntos: 2135
Respuesta: Optimizar script al máximo

http://www.antiifcampaign.com/
  #4 (permalink)  
Antiguo 07/05/2010, 09:31
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 16 años, 11 meses
Puntos: 334
Respuesta: Optimizar script al máximo

Cita:
Iniciado por GatorV Ver Mensaje
ajajajja buen link .. apoyare la causa !
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.