Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ScanDir

Estas en el tema de ScanDir en el foro de PHP en Foros del Web. Hola a todos, Ante todo pido disculpas por si mi lenguaje no es el mas apropiado, Este codigo tiene 2 PHP cada uno hace un ...
  #1 (permalink)  
Antiguo 22/08/2018, 13:23
 
Fecha de Ingreso: octubre-2013
Mensajes: 56
Antigüedad: 10 años, 6 meses
Puntos: 1
ScanDir

Hola a todos,
Ante todo pido disculpas por si mi lenguaje no es el mas apropiado,

Este codigo tiene 2 PHP cada uno hace un scandir de directorios deferentes.

Código PHP:
Ver original
  1. <div>
  2.             <p>
  3.               <?php  include ("generales.php");  ?>
  4.             </p>
  5.         </div>
  6.         <div>
  7.             <p>
  8.                 <?php include ("tablacondiciones.php"); ?>
  9.             </p>
  10.         </div>

Los Codigos PHP son iguales solo cambia el nombre del directorio.

El problema que tengo es que el segundo PHP , en este caso tablacondiciones.php tambien hace un scandir del archivo anterior.
ya me fije cambiendo el orden de los PHP y ocurre lo mismo

Código PHP:
Ver original
  1. <?php
  2. setlocale(LC_ALL, "esp");
  3. $directorio='./cias/'.$_GET['cia'].'/condiciones.';
  4. $ficheros1  = scandir($directorio,1);
  5. $arrlength=count($ficheros1);
  6.     if($arrlength-2>0){    
  7.         echo"<table class='table1' width='990'>
  8.            <tr>
  9.                <th colspan='2'>CONDICIONES</th>
  10.            </tr>
  11.            <tr>
  12.                <td class= 'subtit'>Documento</td>
  13.                <td class= 'subtit'>Fecha de Creacion</td>
  14.            </tr>";
  15.     for($x=0;$x<$arrlength-2;$x++){
  16.         $nombre_archivo = $ficheros1[$x];
  17.         $fecha = strftime("%d de %B de %Y", filemtime("$directorio/$nombre_archivo"));
  18.         $todo[filemtime("$directorio/$nombre_archivo")]=array($directorio,$ficheros1[$x],$fecha);
  19.         }
  20.     }
  21. if (!$todo){
  22. }else{
  23. krsort($todo);
  24. for($i=0; $i<count($todo); $i++){
  25. $dato=current($todo);
  26. echo"<tr>
  27.                <td><a target='_blank' href='".$dato[0]."/".$dato[1]."'>".$dato[1]."</a><br></td>
  28.                <td>".$dato[2]."</td>
  29.            </tr>";
  30. next($todo);                   
  31. }
  32. }
  33. ?>
  34. </table>

Alguien me pude ayudar a que solo se haga el scandir correspondiente?

desde ya muchas gracias
  #2 (permalink)  
Antiguo 22/08/2018, 19:04
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: ScanDir

ese codigo corresponde a cual archivo?? o los dos tienen el mismo codigo?
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 23/08/2018, 09:43
 
Fecha de Ingreso: octubre-2013
Mensajes: 56
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: ScanDir

Los 2 archivos tiene el mismo codigo, lo unico que cambia es la linea 3

en un archivo es :
$directorio='./cias/'.$_GET['cia'].'/condiciones.';

y en el otro:
$directorio='./cias/'.$_GET['cia'].'/info.';

Muchas gracias por tu ayuda
  #4 (permalink)  
Antiguo 23/08/2018, 09:44
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: ScanDir

scandir es algo obsoleto, en su lugar usa las funciones o las clases DirectoryIterator, todo esta en la web oficial de php

http://es.php.net/manual/es/class.directoryiterator.php
  #5 (permalink)  
Antiguo 23/08/2018, 09:53
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: ScanDir

amigo pero si estas usando las mismas variables en ambos archivos, es obvio que se va a ejecutar en este caso el último, pues estas se van a sobreescribir con las segundas instrucciones, debes cambiar las variables
__________________
[email protected]
HITCEL
  #6 (permalink)  
Antiguo 23/08/2018, 11:35
 
Fecha de Ingreso: octubre-2013
Mensajes: 56
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: ScanDir

Muchsimimas gracias, problema resuelto

Etiquetas: nombre, tabla
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 16:05.