Código PHP:
<?
if($bandera_guardar==0){
$nbre_archivo = $HTTP_POST_FILES['archivo']['name'];
$tipo_archivo = $HTTP_POST_FILES['archivo']['type'];
$tamano_archivo = $HTTP_POST_FILES['archivo']['size'];
$archi_temp = $HTTP_POST_FILES['archivo']['tmp_name'];
$ss=false;
$cad=substr($HTTP_POST_FILES['archivo']['name'], -3);
$tipos = array('zip','ZIP','rar', 'RAR','cpp','CPP','c','C','exe','EXE','doc','DOC','txt','TXT','pdf','PDF','swf','SWF','fla','FLA','xls','XLS','pps','PPS', 'bmp','BMP','jpg','JPG','gif','GIF', 'jpeg','JPEG', 'png','PNG', 'mpp','MPP', 'pub','PUB', 'sql','SQL', 'csv','CSV', 'h','H', 'dm2','DM2', 'ace','ACE', 'sxl','SXL', 'sml','SML', 'msi','MSI', 'dwg','DWG', 'bak','BAK','rtf','RTF','ppt','PPT','mdb','MDB','html','HTML','htm','HTM');
$vble=count($tipos);
for($i=0;$i<$vble;$i++){
if ($tipos[$i]==$cad){
$shh=true;
$sdf=false;
break;
}else
$sdf=true;
$shh=false;
//echo "no sube"."<br>";
}
if ($sdf){
?><script>alert('¡Extensión no valida!')</script><?
$switch=true;
$shh=false;
}
if ($shh){
if($tamano_archivo < 200000){
$consu="Select COUNT(doc_$sel) as num from banco_pruebas";
$resu=pg_query($conexion_pg,$consu);
if($arreglo=pg_fetch_array($resu)){
$documento=$arreglo[num];
}
switch($sel){
case "pauta":
$estring="p";
$sd=true;
$switch=false;
break;
case "correccion":
$estring="c";
$sd=true;
$switch=false;
break;
case "nota_min":
$estring="m";
$sd=true;
$switch=false;
break;
case "nota_max":
$estring="x";
$sd=true;
$switch=false;
break;
}
if ($documento!=""){
$documento=$documento + 1;
$hs=false;
}else{
$documento=1;
$hs=true;
}
$documento2="$estring$documento";
$cadena=substr($HTTP_POST_FILES['archivo']['name'], -4);
$documento3=$documento2."$cadena";
error_reporting(E_ERROR);
if ($documento3 == "" || existe_nombre_en_directorio($documento3) || !rename($HTTP_POST_FILES['archivo']['name'], $documento3)){
copy($HTTP_POST_FILES['archivo']['tmp_name'],"../directorio/".$documento3); //copia el archivo
?><script>alert('¡El archivo subio con exito!')</script><?
$bandera_bd=1;
$switch=true;
}else{
?><script>alert('¡Archivo Existe!')</script><?
$switch=true;
$fechas="";
$documento3="";
$archivo="";
}
$switch=true;
}
}else echo "<script>alert('¡Arhivo ha sobrepaso en tamaño!')</script>";
}
if($bandera_bd==1){
$consulta="select * from banco_pruebas where semestre_ano = '$sem_a' and id_asignatura = '$asignaturas' and anio_asignatura = '$ano_malla' and carrera_sede = '$sed$carrera' and orden = '$orden' and variante = '$variante' and jornada = '$jornada'"; //echo"Consulta: $consulta<br>";
$resultado=pg_query($conexion_pg, $consulta); //echo $consulta."<br>";
if($fila=pg_fetch_array($resultado)){
$fechas=FecSQL($fechas);
$docto=$fila["doc_$sel"];
if($hs){
if (file_exists("../directorio/$docto")){ //si existe el fichero en el directorio
if ($docto == "" || !unlink("../directorio/$docto")){
$cade=substr($HTTP_POST_FILES['archivo']['name'], -4);
$docto="";
}
}
}
$modificar="update banco_pruebas set chk_$sel='1', fecha_$sel='$fechas', doc_$sel='$documento3' Where semestre_ano='$s_ano-$semestre' and id_asignatura='$asignaturas' and anio_asignatura='$ano_malla' and carrera_sede='$carrera_sede' and orden='$orden' and variante='$variante' and jornada='$jornada'";
pg_query($conexion_pg, $modificar);
$fechas=SQLFec($fechas);
$switch=true;
}else{
$hs=false;
$fechas=FecSQL($fechas);
$ingresar="insert into banco_pruebas (semestre_ano, id_asignatura, anio_asignatura, carrera_sede, orden, variante, jornada, chk_$sel, fecha_$sel, doc_$sel) values ('$s_ano-$semestre', '$asignaturas', '$ano_malla', '$carrera_sede', '$orden', '$variante', '$jornada', '$check', '$fechas', '$documento3')";
pg_query($conexion_pg, $ingresar);
$fechas=SQLFec($fechas);
$fechas="";
$switch=true;
}
}
}
necesito subir varios tipos de archivo y esto estan en un arreglo que los recorro, y comparo la extension del archivo que quiero subir, ademas antes de subirlo lo renombro dependiendo si es pauta, correccion, notaminima o notamaxima con numero, lo que trabajo bastante es con true o false, veras demasiado en el codigo, el problema en si que tengo es que se marea al recorrer el arreglo y comparar la extension que subo, a todo esto el archivo solo guarda en la base de datos el nombre, en una carpeta guarda el documento...