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: 16 años, 3 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;
}

// 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: 18 años, 7 meses
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: 18 años
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: 14 años, 6 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 19:04.