Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/08/2011, 16:27
Avatar de JuJoGuAl
JuJoGuAl
 
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Pregunta Respuesta: Borrar Archivos sin importar su Extension

El Codigo es:

Código PHP:
<?php require_once('Connections/Conexion.php');

// Busquedad Recursiva
function buscar($dir,$archivo_buscar
{
     if ( 
is_dir($dir) ) 
     { 
          
// Recorremos Directorio 
          
$d=opendir($dir);  
          while( 
$archivo readdir($d) ) 
          {
            if ( 
$archivo!="." AND $archivo!=".."  
            {
                if ( 
is_file($dir.'/'.$archivo) ) 
                 { 
                      
// Es Archivo 
                      
if ( $archivo == $archivo_buscar  
                      { 
                           return (
$dir.'/'.$archivo); 
                    } 
                     
                } 
                  
                if ( 
is_dir($dir.'/'.$archivo) ) 
                { 
                     
// Es Directorio 
                     // Volvemos a llamar 
                     
$r=buscar($dir.'/'.$archivo,$archivo_buscar); 
                     if ( 
basename($r) == $archivo_buscar 
                     { 
                          return 
$r
                    } 
                      
                      
                }                          
            }
        }                           
    }
    return 
FALSE
}

//CONFIGURACION
$maximo_tamano'524288'//tamaño maximo de los archivos, 500kb.
//FIN CONFIGURACION

//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['Enviar']))
    {        
    
//recogemos las variables
    
$Nombre=STRTOUPPER($_POST["nom"]);
    
$Cedula=STRTOUPPER($_POST["ced"]);
    
$Area=STRTOUPPER($_POST["prof"]);    
    
//Se Comprueba si el Tamano y el Tipo son el permitido
    
if (isset($_FILES['archivo']['tmp_name']))
        {
        
$tipo=$_FILES['archivo']['type'];
        
//echo $tipo;
        //Formatos de archivo permitidos
        
switch ($tipo)
        {
            
// Word 2003
            
case "application/msword":
            
$ext="doc";
            break;
            
// Word 2007
            
case "application/vnd.openxmlformats-officedocument.wordprocessingml.document":
            
$ext="docx";
            break;
            
// Excel 2003
            
case "application/vnd.ms-excel":
            
$ext="xls";
            break;
            
// Excel 2007
            
case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":
            
$ext="xlsx";
            break;
            
// PDF
            
case "application/pdf":
            
$ext="pdf";
            break;
            
//Ninguno de los Anteriores
            
default:
            
$ext="error";
            break;
            }
        }
        
//Creo la Ruta Correcta.
        
$Ruta="Curriculos/";
        
$Ruta.=$Area;
        
$tamano=$_FILES['archivo']['size'];
        
$number=is_numeric($Cedula);
        if(
$number==false){$error_archivo.="<br>- El Campo Cedula solo acepta valores Numerico.";}
        
//Pregunto si se genero un Error Con Respecto al Archivo
    
if ($ext=="error") {$error_archivo.="<br>- Formato de archivo no permitido.";}
    if (
$tamano $maximo_tamano) {$error_archivo.="<br>- El tama&ntilde;o de su archivo supera el m&aacute;ximo permitido.";}
    
//Se Comprueba si los campos tienen Dato, y si la Variable Error esta Vacia
    
if ($Nombre!='' && $Cedula!='' && $Area!='' && $error_archivo=='')
        {
        
//Pregunto por el Usuario que se esta anadiendo.
        
$colname_BuscaCed "-1";
        if (isset(
$_POST['ced'])) {
          
$colname_BuscaCed = (get_magic_quotes_gpc()) ? $_POST['ced'] : addslashes($_POST['ced']);
        }
        
mysql_select_db($database_Conexion$Conexion);
        
$query_BuscaCed sprintf("SELECT * FROM empleo WHERE cedula = %s"$colname_BuscaCed);
        
$BuscaCed mysql_query($query_BuscaCed$Conexion) or die(mysql_error());
        
$row_BuscaCed mysql_fetch_assoc($BuscaCed);
        
$totalRows_BuscaCed mysql_num_rows($BuscaCed);
        
// Compruebo si el Usuario y el Curriculo Existe.
        
if ($totalRows_BuscaCed!=0)
        {
            
//La Cedula ya esta en la BD, procedo a Borrarla para insertarla Nuevamente
            
$query_Delete = ("DELETE FROM empleo WHERE cedula = $Cedula");
            
$Delete mysql_query($query_Delete$Conexion) or die(mysql_error());
            
$Files="$Cedula.$ext";            
            
$direccion "Curriculos/";
            echo 
$direccion;
            echo 
"<br>";
            
$a_eliminar scandir($direccion);
            echo 
$a_eliminar;
            echo 
"<br>";
            foreach(
$a_eliminar as $elemento)
            {
                echo 
$elemento;
                echo 
"<br>";
                
$path pathinfo($elemento); // con esto obtengo el nombre del archivo sin extension.
                
if($path['filename'] == $_POST["ced"])
                {
                    echo 
$path['filename'];
                    echo 
"<br>";
                    echo 
$_POST["ced"];
                    echo 
"<br>";
                    
$borrar $direccion.$elemento;
                    echo 
$borrar;
                    echo 
"<br>";
                    
//chmod($borrar,0777);
                    
if(unlink($borrar))
                    {
                        
$response "1"//print "El archivo fue borrado"; 
                    
}
                    else
                    {
                        
$response "No se puede borrar ".$elemento.":hubo un fallo en el servidor. Por favor, vuelve atras y reintenta en unos segundos.";
                    };
                }
            };
            echo 
$response;                                    
        }
        else
        {
            
//La Cedula no Existe en la Bd Procedo a Insertarla.
        
}        
        
        
//Inserto el Usuario
            
$query_Insert = ("INSERT INTO empleo (nombres,cedula,area) VALUES ('$Nombre','$Cedula','$Area')");
            
$Insert mysql_query($query_Insert$Conexion) or die(mysql_error());
        
// Copiamos el Archivo al Servidor        
        
if(is_dir($Ruta))
        {
            
//La ruta existe por lo tanto no la creo
        
}
        else
        {
            
//La Ruta no Existe la Creo
            
mkdir($Ruta0700);
        }
        
//Termino la Ruta con Carpeta, Cedula del Trabajador y Extension Original.
        
$Archivo.=$Ruta;
        
$Archivo.='/';
        
$Archivo.=$Cedula;
        
$Archivo.=".";
        
$Archivo.=$ext
        
//copy($_FILES['archivo']['tmp_name'], $Archivo);
        //Hago Ok para Saber que si Funciono el Envio!        
        
$flag='ok';
        
//Mensaje de Exito!
        
$mensaje='<div id="ok"><h4><br>Su Resumen Curricular ha sido Cargado Exitosamente.<br><br>Gracias por Preferirnos.</h4></div>';
        }
        else
            {
            
//Si Hay Un Campo Vacio o Se Genero un Error al Cargar el Archivo lo Muestro
            
$flag='err';
            
$mensaje='<div id="error">- Los Campos Marcados Con * Son Requeridos. '.$error_archivo.'</div>';
            
            }
}
?>
<div id="Empleo">
<div id="LogoBest"><img src="imagenes/BestShop.gif" width="234" height="153" /></div>
<p>En <b>Best Shop</b> es un gusto que nos considere como una excelente alternativa de trabajo.</p>
<p>Ofrecemos un ambiente de trabajo equilibrado, con muchas &aacute;reas de realizaci&oacute;n profesional, donde su crecimiento personal es muy importante para nosotros.</p>
<p>Lo invitamos a formar parte de nuestra base de datos</p>

<?
echo $mensaje/*mostramos el estado de envio del form */
?>

<?
if ($flag!='ok')
    {
?>
    <br >
    <form action="?page=Empleo" method="post" enctype="multipart/form-data">
        <p>Apellidos y Nombres: </p>
        <p><input  <? if (isset ($flag) && $_POST['nom']=='') { echo 'class="campoerror"';} else {echo 'class="camponormal"';} ?>  type="text" name="nom" size="40" value="<? echo $_POST['nom'];?>"/>
        <img src="imagenes/interrogacion.gif" width="15" height="15" title="Coloque su Nombre y Apellido   por ejemplo: Pirela Lopez Fran Jose" />
        <b style="color:#FF0000"> *</b></p>
        <p>C&eacute;dula de Identidad: </p>
        <p><input <? if (isset ($flag) && $_POST['nom']=='') { echo 'class="campoerror"';} else {echo 'class="camponormal"';} ?> type="text" name="ced" size="40" value="<? echo $_POST['ced'];?>"/>
        <img src="imagenes/interrogacion.gif" width="15" height="15" title="Coloque aqui su Cedula de Identidad sin Puntos   ni V- E-, por Ejemplo; xxxxxxx" />
        <b style="color:#FF0000"> *</b></p>
        <p>&Aacute;rea de Profesi&oacute;n: </p>
        <p>
        <select name="prof" <? if (isset ($flag) && $_POST['nom']=='') { echo 'class="campoerror"';} else {echo 'class="camponormal"';} ?>>
            <option>Sin Profesion</option>
            <option>Administracion</option>
            <option>Contaduria</option>
            <option>Recursos Humanos</option>
            <option>Mantenimiento</option>
            <option>Informatica</option>
            <option>Publicidad</option>
            <option>Almacenes</option>
            <option>Otros</option>
        </select>
        <img src="imagenes/interrogacion.gif" width="15" height="15" title="Elija su Area de Profesion segun sus Conocimientos o el Cargo que Busca Desempeñar" />    
        <b style="color:#FF0000"> *</b></p>
        <p title="Elija su Resumen Curricular para cargalo a nuestra Base de Datos">Resumen Curr&iacute;cular: </p>
        <p><input name="archivo" type="file" id="archivo">
        &nbsp;
        <img src="Imagenes/Adobe.gif" width="24" height="27" />
        &nbsp;
        <img src="Imagenes/Word.GIF" width="25" height="25" />
        &nbsp;
        <img src="Imagenes/Excel.gif" width="26" height="25" />
        &nbsp;
        <img src="Imagenes/PowerPoint.GIF" width="27" height="25" />
        &nbsp;
        Peso M&aacute;ximo 500KB<b style="color:#FF0000"> *</b></p>
        <br><br>
        <input name="Enviar" type="submit" id="boton" value="Enviar" class="Boton">
        &nbsp;
        <input type="reset" name="Submit" value="Resetear" class="Boton">
    </form>
    <?
    
}
    
?>
<br><br>
</div>
<?php
@mysql_free_result($BuscaCed,$Delete,$Insert);
?>
Disculpen si lo que hice es algo indevido pero no se como Resolverlo...