Tema: Rendimiento
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2015, 09:06
nibble
 
Fecha de Ingreso: diciembre-2015
Mensajes: 4
Antigüedad: 8 años, 4 meses
Puntos: 0
Rendimiento

Buenas, tengo este codigo, lo que me pasa esque puede llevarse mas de 1.30 minuto al poner por ejemplo 1.000 lineas de codigo en el textarea.

Lo que hace el script es, guarda en una array cada uno de los saltos de linea y crea otro array en el que elimina las lineas vacidas[Saltos de lineas vacidos] y posteriormente, hago varias comprobaciones con cada linea.

Código PHP:
if(@$_GET['id'] == 'upload_validate'):

    
session_start();
    
ini_set('max_execution_time'300);
    if(!isset(
$_SESSION['username'])):
        echo 
'Tienes que iniciar session';
    elseif(empty(
$_POST['language'])):
        echo 
'Selecciona el lenguaje.';
    elseif(empty(
$_POST['serie'])):
        echo 
'Selecciona la serie.';
    elseif(empty(
$_POST['code'])):
        echo 
'Debes introducir almenos 1 enlace.';
    else:
      
$code explode("\n",$_POST['code']);

      
//Eliminar los espacios en blanco
      
$code_good = array();
      foreach(
$code as $n => $value):
          if(
strlen($value) >= 5):
              
$code_good[] = $value;
          else:
              unset(
$code[$n]);
          endif;
      endforeach;

      if(empty(
$_POST['temporada']) && empty($_POST['capitulo'])):
          foreach(
$code_good as $n => $value):
              
$enlace explode(' ',$value); //Enlace[1]
              
@$enlace[1] = trim($enlace[1]);
              @
$temporada explode('x',$enlace[0]); //Temporada[0] Temporada[1]
              
if(!preg_match('/^([\0-9]+)x([0-9]+) \b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i',$value)):
                  echo 
'La estructura('.$value.') es incorrecta.';
                  exit();
              else:
                  
$enlace1[1] = $enlace[1];
                  
$check_url explode('://'$enlace[1]);
                  
$check_url1 explode('/'$check_url[1]);
                  
$enlace[1] = $check_url[0].'://'.$check_url1[0];
                  
$url1 $database->runQuery("SELECT type FROM login_url WHERE url = '".$enlace[1]."'");
                  if(
$url2 mysqli_fetch_assoc($url1)):

                      
//Enlace
                      
$enlace2 $database->runQuery("SELECT enlace FROM enlace WHERE enlace = '".mysqli_real_escape_string($db$value)."'");
                      if(
$enlace3 mysqli_fetch_assoc($enlace2)):
                          echo 
'El enlace('.$value.') ya ha sido publicado.<br>';
                          exit();
                      endif;

                  else:
                      echo 
'La URL('.$enlace1[1].') no esta permitida en nuestra base de dato.';
                      exit();
                  endif;
             endif;
          endforeach;
      else:
          foreach(
$code_good as $n => $value):
              
$value trim($value);
              if(!
preg_match('/^\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i',$value)):
                  echo 
'La estructura('.$value.') es incorrecta.';
                  exit();
              elseif(
filter_var($valueFILTER_VALIDATE_URL) === false):
                  echo 
'La pagina web('.$value.') es incorrecta.';
                  exit();
              else:
                
$value1 $value;
                
$check_url explode('://'$value);
                
$check_url1 explode('/'$check_url[1]);
                
$value $check_url[0].'://'.$check_url1[0];
                  
$url1 $database->runQuery("SELECT type FROM login_url WHERE url = '".$value."'");
                  if(
$url2 mysqli_fetch_assoc($url1)):

                      
//Enlace
                      
$enlace2 $database->runQuery("SELECT enlace FROM enlace WHERE enlace = '".mysqli_real_escape_string($db$value1)."'");
                      if(
$enlace3 mysqli_fetch_assoc($enlace2)):
                          echo 
'El enlace('.$value1.') ya ha sido publicado.<br>';
                          exit();
                      endif;

                  else:
                      echo 
'La URL('.$value1.') no esta permitida en nuestra base de dato.';
                      exit();
                  endif;
             endif;
          endforeach;
      endif;
    endif;

endif; 
Saludos y gracias.