Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/10/2004, 11:42
apañero
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
Pues ahí va, es algo muy básico y fácil de entender.
Código:
/*Validar formato.*/

  for($i=0; $i<count($_FILES[userfile][tmp_name]); $i++){

  $name = $_FILES[userfile][name][$i];
  $error="";
  $cuantosgui=0;
  $cuantosparab=0;
  $cuantosparce=0;
  $cuantosesp=0;
  $segp=0;
  $cuantospunt=0;
  $cuantascom=0;


// comprobar cuántos guiones hay
for($i=0;$i<200;$i++){
  if(strcmp($name[$i],"-")==0){
    $cuantosgui++;
  }
}
// comprobar cuántos paréntesis abiertos hay

for($i=0;$i<200;$i++){
  if(strcmp($name[$i],"(")==0){
    $segp=$i;
    $cuantosparab++;
  }
}
// comprobar cuántos paréntesis cerrados hay

for($i=0;$i<200;$i++){
  if(strcmp($name[$i],")")==0){
    $cuantosparce++;
  }
}
// comprobar cuantos puntos hay
for($i=0;$i<200;$i++){
  if(strcmp($name[$i],".")==0){
    $cuantospunt++;
  }
}

// comprobar cuantas comillas hay
for($i=0;$i<200;$i++){
  if(strcmp($name[$i],"'")==0){
    $cuantascom++;
  }
}


$errornomb=0;
$j=0;
$segp=$segp+1;

while(($name[$segp]!= ")")&&($name[$segp]!= ";")){
   if(strcmp($name[$segp], $uname[$j]) != 0){
     $errornomb=1;
   }
   $segp++;
   $j++;
}

if($cuantosgui!= 3){
   $error= "El archivo $name debe de tener 3 guiones normales y tiene $cuantosgui giones.";
}
elseif($cuantosparab != 2){
       $error= "El archivo $name debe de tener un paréntesis abierto antes del número de canción y otro antes de tu nick pero tiene $cuantosparab paréntesis. Un ejemplo: album-(3)-título_(tunick) ";
    }
    elseif($cuantosparce != 2){
          $error= "El archivo $name debe de tener un paréntesis cerrado después del número de canción y otro después de tu nick pero tiene $cuantosparce paréntesis. Un ejemplo: album-(3)-título_(tunick) ";
         }
         elseif($errornomb){
            $error= "Recuerda poner tu nombre entre paréntesis al final de la canción seguido de un _: nombrecancion_($uname)";
            }     
            elseif($cuantospunt!= 1){
               $error= "El nombre de la canción sólo puede tener un punto al final seguido de la extensión: cancion.mp3";
               }
                elseif($cuantascom!= 0){
                   $error= "El nombre de la canción no puede tener comillas simples";
                   }

if($error!= ""){
   ......
   .....
  }
}// del for
Me imagino que con una expresión regular me ahorro casi todo el código, pero esque no sé de expresiones regulares y eso me funciona bien. Los mensajes de error individuales estaría bien que se mostraran.

Última edición por apañero; 17/10/2004 a las 11:45