Foros del Web » Programando para Internet » PHP »

Ordenar archivos de una carpeta

Estas en el tema de Ordenar archivos de una carpeta en el foro de PHP en Foros del Web. Buenas tardes amigos, tengo un pequeño problema, tengo un sistema armado el cual permite cargar archivos en carpetas que yo creo, el tema es que ...
  #1 (permalink)  
Antiguo 25/11/2011, 17:00
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Ordenar archivos de una carpeta

Buenas tardes amigos, tengo un pequeño problema, tengo un sistema armado el cual permite cargar archivos en carpetas que yo creo, el tema es que tengo que ordenar alfabeticamente estos archivos subidos en las distintas carpetas y no se como hacerlo. Dejo aqui el codigo para que lo vean a ver si alguien puede ayudarme.

Leercarpeta.php (aqui se leen los archivos dependiendo la carpeta que seleccione

Código PHP:
<form name="upload" action="funciones.php?action=upload&data=<?php echo $id?>" method="POST" enctype="multipart/form-data">
  <input type="file" id="file" name="file" onclick="boton.disabled=false;" >
<input type="submit" id="boton" name="boton" value="subir" disabled="true" >

</form>
<?php
include('include.php');
$id $_GET[id];
LeerCarpetas($id);
?>
Archivo include.php

Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css" MEDIA=screen>
<script src="funciones.js"></script>
<?php 
include ("funciones.php");

?>
Archivo funciones.php (aca es donde deberia listarlo si es que no estoy equivocaco)
Código PHP:
<?php
// toma los datos si tiene accion deriva a la funcion
if (isset($_GET['action'])){    
    
$action $_GET['action'];
    
$data   $_GET['data'];  
     switch (
$action){
        case 
'alta':
                    
Alta($data);
                    break;
        case 
'del':
                    
Del($data);
                    break;
        case 
'mod':
                    
Mod($data);
                    break;
        case 
'upload':
                     
$file $_FILES['file'];
                     
Upload($data,$file);
                     break;        
        case 
'delfile':
            
$file $_GET['file'];
            
$folder $_GET['folder'];         
            
DeleteFile($folder$file);
            break;
         case 
'bajar':
            
$file $_GET['file'];
            
$folder $_GET['folder'];
             
download($folder$file);
            break;
    }
}
// Parametros para la DB
function conectar_DB(){
$bd_host "localhost";
$bd_usuario "Usuario";
$bd_password "Password";
$bd_base "Base de Datos";
$con mysql_connect($bd_host$bd_usuario$bd_password);
mysql_select_db($bd_base$con);
}
// valida si el usuario o contraseña se encuentran en la base de datos
function validar(){
$user $_GET['user'];
$pass $_GET['pass'];
        
conectar_DB();
        
$sql=mysql_query("SELECT * FROM usuarios where usuario like '$user' and password like '$pass' ");
        
$row mysql_fetch_array($sql);
        if(
$row){ // si encuentra resultado
        
echo "true";
        }
        else{ 
//sino
        
echo "false";
        }
                
//mysql_close();
}
//Lista los datos de el query seleccionado
function Listar($dato){
    
conectar_DB();
    
$sql mysql_query('select * from '.$dato);
    
    return 
$sql;
 }
//Da de alta los datos seleccionados
function Alta($dato){
    
$dni $_POST['txtDni'];
$cuit $_POST['txtCuit'];
$apellido $_POST['txtApellido'];
$nombre $_POST['txtNombre'];
$domicilio $_POST['txtDomicilio'];
$localidad $_POST['txtLocalidad'];
$cp $_POST['txtCp'];
$provincia $_POST['txtProvincia'];
$telefono $_POST['txtTelefono'];
$nacimiento $_POST['txtAno']."-".tomarMes($_POST['txtMes'])."-".$_POST['txtDia'];
$observaciones $_POST['txtObservaciones'];

    
conectar_DB();
  
$sql mysql_query("INSERT INTO Usuarios (DNI, Cuit, Apellido, Nombre, Domicilio, Localidad, Cp, Provincia, Telefono, FechaNacimiento, Observaciones) values ('$dni','$cuit','$apellido','$nombre','$domicilio','$localidad','$cp','$provincia','$telefono','$nacimiento','$observaciones')");

    
//valida el query si tiene problemas o no
    
if (!$sql) {

        die(
'Invalid query: ' mysql_error());
       }else{
        
CrearCarpetas($dni);
    }
            
Actualizar('ListaUsuarios.php');
    }

// borra dato seleccionados
function Del($dato){
    
conectar_DB();
    
$sql mysql_query("Delete from Usuarios where DNI like $dato");
       
//borra todo el contenido de la carpeta 
    
$MyDirectory opendir($dato) or die('Error');
        while(
$Entry = @readdir($MyDirectory)) {
        
    
         if(
$Entry != '.' && $Entry != '..') {    
                       
         
unlink($dato."/".$Entry); 
        
    }
       }
        
   
closedir($MyDirectory);
    
//borra la carpeta
    
rmdir($dato);
    
   
Actualizar('ListaUsuarios.php');
    
}
function 
Mod($data){
   
    
conectar_DB();
    
$nombre $_POST['txtNombre'];
    
$apellido $_POST['txtApellido'];
    
$cuit $_POST['txtCuit'];
    
$domicilio $_POST['txtDomicilio'];
    
$localidad $_POST['txtLocalidad'];
    
$cp $_POST['txtCp'];
    
$pcia $_POST['txtProvincia'];
    
$tel $_POST['txtTelefono'];
    
$obs $_POST['txtObservaciones'];
    
    
$sql mysql_query("UPDATE Usuarios set Nombre='$nombre', Apellido='$apellido', Cuit='$cuit', Domicilio='$domicilio', Localidad='$localidad', Cp='$cp',  Provincia='$pcia', Telefono='$tel', Observaciones='$obs'  where DNI = '$data'")or die('Error:'.  mysql_error() );

    
Actualizar('ListaUsuarios.php');
}


//llama a la pagina para que vuelva a refrescar
function Actualizar($page){
    echo 
"<META HTTP-EQUIV='Refresh' CONTENT='0; URL= $page'>";
}
// lee el contenido de las carpetas especificada en $Directory
function LeerCarpetas($Directory){

  
$MyDirectory opendir($Directory) or die('Error');
  
  echo
'   <table>';
  echo
'   <tr>';
  echo
'   <td>Numero de D.N.I: '.$Directory.'</td>';
  echo
'   <td>&nbsp;</td>';
  echo
'   </tr>';
  
    while(
$Entry = @readdir($MyDirectory)) {
        
                
//si el registro es el . el los .. los imprime 
                
if($Entry != '.' && $Entry != '..') {        
                      
                      echo 
' <tr>';
                      echo 
'  <td>'.$Entry.'</td>';?>
                      <td>&nbsp;&nbsp;&nbsp;<a href="funciones.php?action=delfile&folder=<?php echo $Directory ?>&file=<?php echo $Entry ?>" onClick="if(!confirm('Desea Eliminar Registro'))return false;" ><img src='images/icon-delete.gif' border='0' title='Eliminar'></a></th>
                      <?php
                      
echo '<td><a href="funciones.php?action=bajar&folder='.$Directory.'&file='.$Entry.'"><img src="images/sm_lk6.gif" border="0" title="Descargar"></a></td>';
                      echo 
'</tr>';
        }
        
    }
        
  echo 
'</table>';
  
closedir($MyDirectory);
}
// Crea las carpetas especificadas en $carpeta con permisos 0777
function CrearCarpetas($carpeta){
     
    
//valida si la carpeta esta creada
    
if(!is_dir($carpeta)){ 
           
        
mkdir($carpeta0777); 
        
    }else{ 
    
        echo 
"<script> alert('Ya existe ese directorio')</script>"
    }
}
//upload archivos al servidor
function Upload($folder,$file){
    
$size $file['size'];
$max 10000000// tamaño maximo permitido para subir es en bites 1.000.000 = 1 mb

if ($size $max ){
//|| ($_FILES["file"]["type"] == "image/jpeg")
//|| ($_FILES["file"]["type"] == "image/pjpeg"))
//&& ($_FILES["file"]["size"] < 10000))
 // {
 // if ($_FILES["file"]["error"] > 0)
 //   {
 //   echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
 //   }
 // else
 //   {
    //echo "Upload: " . $file["name"] . "<br />";
    //echo "Type: " .$file["type"] . "<br />";
    //echo "Size: " . ($file["size"] / 1024) . " Kb<br />";
    
echo "El Archivo : " $file["name"] . " supera el limite establecido <br />";
    return;
}else {
    
    if (
file_exists($folder."/" $file["name"]))
      {
      echo 
$file["name"] . " Ya existe. ";
      }
    else
      {
      
move_uploaded_file($file["tmp_name"],
      
$folder."/" $file["name"]);
      echo 
"Stored in: " $folder."/" $file["name"];
      }
      
      
Actualizar('LeerCarpetas.php?id='.$folder);
      
//    }
//  }
//else
//  {
//  echo "Invalid file";
 
}
}

//borra los archivos de la carpeta seleccionada
function DeleteFile($folder ,$filename){

unlink($folder."/".$filename); 
Actualizar('LeerCarpetas.php?id='.$folder);

}
//cambia la fecha de msql a normal - DD-MM-YYYY
function fechaNormal($fecha){
    
$fch=explode("-",$fecha);
    
$lafecha=$fch[2]."-".$fch[1]."-".$fch[0];
    return 
$lafecha;
    }
    
//cambia la fecha a mysql - YYYY-MM-DD

function fechaMysq($fecha){
    
$fch=explode("-",$fecha);
    
$lafecha=$fch[0]."-".$fch[1]."-".$fch[2];
    return 
$lafecha;
    }

function 
tomarMes($mes){
    
    switch (
$mes){
        case 
'Enero':
            
$mes '1';
        return 
$mes;
        case 
'Febrero':
            
$mes '2';
        return 
$mes;
    case 
'Marzo':
            
$mes '3';
        return 
$mes;
    case 
'Abril':
            
$mes '4';
        return 
$mes;
    case 
'Mayo':
            
$mes '5';
        return 
$mes;
    case 
'Junio':
            
$mes '6';
        return 
$mes;
    case 
'Julio':
            
$mes '7';
        return 
$mes;
    case 
'Agosto':
            
$mes '8';
        return 
$mes;
    case 
'Septiembre':
            
$mes '9';
        return 
$mes;
    case 
'Octubre':
            
$mes '10';
        return 
$mes;
    case 
'Noviembre':
            
$mes '11';
        return 
$mes;
    case 
'Diciembre':
            
$mes '12';
        return 
$mes;
    }
}
 
function 
download($folder$file){
   
$enlace $folder."/".$file
header ("Content-Disposition: attachment; filename=".$file."\n\n"); 
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);

}
    
function 
Modificar($dato,$id){
    
    
conectar_DB();
    
$sql mysql_query('select * from '.$dato.' where DNI='.$id.' ');
    
    return 
$sql;
     
}


?>
Salu2
  #2 (permalink)  
Antiguo 25/11/2011, 17:05
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Ordenar archivos de una carpeta

http://stackoverflow.com/questions/1...addir-and-sort
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 25/11/2011, 17:59
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Ordenar archivos de una carpeta

gracias amigo, igual queria saber si alguien podia ayudarme justo en este codigo que pongo de ejemplo.

Saludos y agradezco de igual manera
  #4 (permalink)  
Antiguo 25/11/2011, 22:39
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Ordenar archivos de una carpeta

¿y es muy difícil leer para encontrar la respuesta? si te fijas, con un simple array y un sort se resuelve.

claramente el ser pro-activo requiere mucho esfuerzo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: html, mysql, registro, sql, usuarios, carpetas
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 14:25.