entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

explorador de archivos personalizado

por el momento a mi explorador le faltan muchas cosas, me gustaria que pudiese bajar y subir de nivel entre los directorios, ademas que pueda leer todos los archivos por lo menos que sea como el explorador que viene por defecto con xamp.
la necesidad de esto es poder moverse entre el sistema desde dispositivos mobiles porque con el explorador clasico de todos los servidores no esta optimizado para este proposito

    <?php

     $estructura = scandir("../beta");
     // print_r($estructura);
     for($x = 0; $x<sizeof($estructura); $x++){
        echo "<li onmouseover=\"escanear('$estructura[$x]')\">$estructura[$x]</li></br>";
     }

    ?>
    <hr>

<div id="container"></div>
<script type="text/javascript">

        container = document.querySelector('#container')
        ajax = new XMLHttpRequest()

        function escanear(elemento){
            console.log(elemento)

        ajax.open("get", "listdir.php?consulta="+elemento, true);

        ajax.send();

        ajax.onreadystatechange=function() {  
         if (ajax.readyState==4 && ajax.status==200) {
          texto=ajax.responseText;
          container.innerHTML= texto;

          } 
       }

        }
    </script> 

</body>
</html>

con mi bucle obtengo mi codigo renderizado

<li onclick="escanear('.')">.</li><br>
<li onclick="escanear('..')">..</li><br>
<li onclick="escanear('estudio')">estudio</li><br>
<li onclick="escanear('listdir.php')">listdir.php</li><br>
<li onclick="escanear('pendientes')">pendientes</li><br>
<li onclick="escanear('prepros.cfg')">prepros.cfg</li><br>
<li onclick="escanear('prova.php')">prova.php</li><br>
<li onclick="escanear('random')">random</li><br>
<li onclick="escanear('templates')">templates</li><br>
<li onclick="escanear('test')">test</li><br>

luego esta mi codigo que se encarga de hacer el escaneo, el parametro consulta hace refencia al nombre de mi carpeta, lo malo que no puedo escanear una subcarpeta, si por ejemplo escaneo la carpeta random con mi siguiente codigo

<?php
$peticion = $_GET['consulta'];
if(is_dir($peticion)){
$contenido = scandir($peticion);

for($i = 0; $i<sizeof($contenido); $i++){

    echo "<li onmouseover=\"escanear('$contenido[$i]')\">$contenido[$i]</li></br>";

}

}

?>

puedo obtener lo siguiente

<li onclick="escanear('.')">.</li><br>
<li onclick="escanear('..')">..</li><br>
<li onclick="escanear('estudio')">estudio</li><br>
<li onclick="escanear('listdir.php')">listdir.php</li><br>
<li onclick="escanear('pendientes')">pendientes</li><br>
<li onclick="escanear('prepros.cfg')">prepros.cfg</li><br>
<li onclick="escanear('prova.php')">prova.php</li><br>
<li onclick="escanear('random')">random</li><br>
<li onclick="escanear('templates')">templates</li><br>
<li onclick="escanear('test')">test</li><br>

<div id="resultado"><li onclick="escanear('.')">.</li><br>
<li onclick="escanear('..')">..</li><br>
<li onclick="escanear('.git')">.git</li><br>
<li onclick="escanear('clothes')">clothes</li><br>
<li onclick="escanear('conbinado.html')">conbinado.html</li><br>
<li onclick="escanear('orden.html')">orden.html</li><br>
<li onclick="escanear('orden_inverso.html')">orden_inverso.html</li><br>
</div>

si intento escanear mi subcarpeta clothes, me redirige a mi carpeta anterior y se borra todo el contenido de mi div resultado

magarzon comentado Abr 12

Duda acerca de lo que estás haciendo: Qué sentido tiene poder acceder a todos los directorios y contenido de tu servidor desde la web (aparte de abrir un agujero de seguridad)?

steven comentado Abr 12

lo que pasa es que cuando accedo desde el mobil a mi localhost debo de regular el tamano y por esto quiero hacerlo responsive para que detecte el display del dispositivo y se adapte el contenido

magarzon comentado Abr 12

No has resuelto mi duda: ¿para qué quieres acceder a las carpetas de tu servidor desde el móvil o desde cualquier sitio?

steven comentado Abr 12

creo que la brecha de seguridad se daria solo en el caso de que mi servidor este en la red, pero visto que esta disponibile solo en local no hay ningun riesgo. respecto lo demas como te comentwba quiero tener un panel de control de todos mis proyectos y poder navegar entre ellos de manera responsive desde cualquier dispositivo

magarzon comentado Abr 12

Y si está en local, ¿para qué quieres acceder con tu móvil? Es más fácil acercarte al ordenador.

steven comentado Abr 12

si eso lose pero cuando hago estoy afuera de mi casa no puedo llevarme el ordenaador, hay un parque fuera de mi casa y la senal de mi wifi llega debilmente pero llega, lo necesito tanbien para hacer algunas pruebas responsive de cada proyecto, como sabras la mayoria se conecta .as desde los mobiles

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta