2013-03-21 20 views
11

Così ho un file system che assomiglia a questo:ottenere un elenco di tutte le cartelle in directory

Music 
- 001 
-- song.mp3 
- 002 
-- song.mp3 
- 003 
- 004 
- 005 
-- song.mp3 
musicplayer.html 
musicplayer.js 

ero curioso di sapere se è possibile ottenere un elenco su tutti i nomi delle cartelle?

Questo javascript, html5 o anche jQuery, non riesco a installare nulla.

+0

stop e pensare a questo proposito ... se si potesse accedere a qualsiasi server e ottenere i dettagli di directory con javascript ... Quanto è sicuro sarebbe server di essere? Non puoi farlo – charlietfl

risposta

13

lui ha un punto della sua domanda (HTML5)


ero curioso di sapere se è possibile ottenere un elenco su tutte le cartelle nomi? Questo javascript, o anche jQuery, non posso installare nulla

Semplicemente no, ma non l'ultimo risposta!

JavaScript (JS) è un interpretato language.It programmazione di computer è stato inizialmente attuato come parte del browser web in modo che gli script lato client potrebbero interagire con l'utente, controllare il browser, comunicare in modo asincrono, e alterare il contenuto del documento quello è stato visualizzato.

Ci sono 3 tipi principali di JavaScript e cioè:

Client-Side JavaScript (CSJS) -- an extended version of JavaScript that enables the enhancement and manipulation of web pages and client browsers 

Server-Side JavaScript (SSJS) -- an extended version of JavaScript that enables back-end access to databases, file systems, and servers 

Core JavaScript -- the base JavaScript language 

JavaScript lato client (CSJS) e Server-Side JavaScript (SSJS) dipendono dal nucleo JavaScript e non possono funzionare senza di essa.

JavaScript e il DOM forniscono il potenziale per autori malintenzionati di consegnare script da eseguire su un computer client tramite il web. Gli autori del browser contengono questo rischio usando due restrizioni. Innanzitutto, gli script vengono eseguiti in una sandbox in cui possono eseguire solo azioni correlate al Web, , attività di programmazione generiche come la creazione di file. In secondo luogo, gli script sono vincolati dalla stessa politica di origine: gli script di un sito Web non hanno accesso a informazioni come nomi utente, password o cookie inviati a un altro sito. La maggior parte dei bachi di sicurezza relativi a JavaScript sono violazioni della stessa politica di origine o della sandbox.

Ci sono sottoinsiemi di JavaScript generico - ADsafe, Secure ECMA Script (SES) - che forniscono un maggiore livello di sicurezza, in particolare sul codice creato da terze parti (come pubblicità).

Ero curioso di sapere se è possibile ottenere un elenco di tutti i nomi delle cartelle ? con HTML5

HTML5 fornisce FileSystem API che possono risolvere la vostra sete, almeno per quanto riguarda il know :)
leggere il tutorial qui: http://www.html5rocks.com/en/tutorials/file/filesystem/


un'altra soluzione è quella di utilizzare il brutto del browser Api, che non ho mai raccomanda sempre
migliore soluzioneè quello di utilizzare un linguaggio lato server come PHP

+0

Grazie per aver sottolineato che non votare, mi stavo solo chiedendo se fosse possibile. Mi piacerebbe usare php ma non posso installare nessun programma. Ho provato a utilizzare html5 api, ma sembra che devi creare le directory al livello di programmazione. Il problema è che non posso sapere quante cartelle ci sono o quale sia il nome del brano all'interno della cartella. Questo sta cominciando a sembrare come non sarò in grado di realizzare questo. –

+0

@Robert E. McIntosh Non utilizzare browser Api in alcun modo, non sono compatibili con gli altri, qual è il tuo bisogno in realtà? –

+0

Ho bisogno di ottenere un elenco di directory e il nome del file in cui risiede il file javascript. È per un widget che sto creando da un tweet cydia chiamato iWidgets. –

0

Stai cercando di ottenere il file system del client? In tal caso, i browser Web di solito vietano questo tipo di comportamento per motivi di sicurezza.

Se si sta tentando di elencare le cose sul server Web, questo non può essere eseguito senza AJAX poiché JavaScript viene eseguito sul computer del client. È necessario disporre di un codice server per elencare la directory, ma ciò può rappresentare un potenziale rischio per la sicurezza.

Penso che la soluzione migliore è eseguire il codice lato server per elencare la directory, non è la cosa più sicura da fare sul codice lato client.

+0

sarebbero dove il file html esiste. Quindi non mi dispiace usare ajax o qualcosa del genere, ma il problema è che ho accesso solo a javascript e html. Se questo è impossibile, va bene, pensavo di chiedere almeno. –

+0

@ RobertE.McIntosh È impossibile fare solo con Javascript, dovresti aggiungere del codice server (PHP o qualcosa di simile) per elencare il contenuto della directory Musica e restituirlo tramite AJAX. –

+0

maledizione. Grazie. Ero preoccupato per quello. –

-2

Si potrebbe sicuramente ottenere ciò, come dice @Tariq, con un codice serveride, come php. puoi inviare percorsi di directory in relazione alla radice tramite ajax (controlla jquery $ .post() @http://api.jquery.com/jQuery.post/).

<?php 
    if (isset($_POST['submit'])) { 
    //capture post varibles, sanitizing of course. 
    $dir = ""; 
    $dir = $_POST['input']; 

    $dh = opendir($dir); 
    while (false !== ($filename = readdir($dh))) { 
     $files[] = $filename; 
    } 
//now, do stuf with files 

    sort($files); 
    print_r($files); 
    } 

?> 

ecco l'output:

Array 
(
[0] => . 
[1] => .. 
[2] => bar.php 
[3] => foo.txt 
[4] => somedir 
) 

Spero che questo aiuti.

+0

Come ho affermato, deve essere in javascript, jquery o html. Non riesco ad installare nulla, quindi php non è disponibile per me. Grazie comunque. Penso che questo sia impossibile è tutto. –

+0

[HTML5 File API] (http://www.w3.org/TR/file-system-api/) - c'è qualche bontà html5 che potrebbe interessarti. – Todd

+0

Ho cercato di usarlo, ma sembra che in realtà non cerchi le directory, a meno che non le creiate usando javascript. –

0

Se stai chiedendo dal lato client Javascript, Sì, possiamo accedere a Mozilla Firefox tramite File API, non conosco altri browser.

https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O

+0

Si tratta di file di accesso sul lato client, voglio accedere ai file in cui risiede il file javascript. –

+0

non facendo un -1, hey non sono soluzioni generali, non li consiglio mai qui –

Problemi correlati