Salve a tutti.
Innanzitutto mi scuso con chi interpreterà male il mio titolo ma non mi viene in mente altro per descrivere il mio problema.. poiche comunque è un grosso problema.
vi spiego subito.. ho dei passaggi di variabile che non escono fuori...
per maggior chiarezza vi posto il codice e man mano spiego che fa e che vorrei che facesse.
partiamo dall'html:
codice:
<body>
<ul id="tab-bar">
<li id="tab-home">
<a href="#index">
Home
</a>
<li id="tab-filemanager">
<a href="javascript:file();">
File Manager
</a>
<li id="tab-video">
<a href="javascript:video();" >
Video
</a>
[/list]
<div class="wrapper">
<div id="index">
pagina index
</div>
nell'html ho la mia barra delle schede da cui richiamo le funzioni js per cambiare il wrapper.
vi posto il javascript di File Manager.
codice:
function file(directory) {
$(".wrapper").remove();
$('<div class="wrapper"></div>').appendTo("body");
$('<div id="file"></div>').appendTo(".wrapper");
$.get("php/file_manager.php",{"dir" : directory},
function(saf) {
$("#file").html(saf);
});
}
questa funzione richiama il php per avere i dati da appendere alla pagina, precisamente al wrapper.
arriviamo al fulcro del problema, ovvero il file php.
ecco il codice:
codice:
<?php
include("../inc/db.php");
$directory=$_GET["dir"];
if ($_GET["dir"]=="") {
$directory="../documenti/";
}
if (is_dir($directory)) {
if ($directory_handle = opendir($directory)) {
while (($file = readdir($directory_handle)) !== false) {
if(is_dir($directory.$file)){
if(($file!=".")&($file!="..")&($file!=".DS_Store")){
print "<ul id='home-list' class='table-view table-action'>[*]
<script> dir=' ".$directory.$file." '; </script>
<a href='javascript:file(dir);'>
<h2>".$file."</h2>
</a>
[/list]";
}
}
else { if(($file!=".")&($file!="..")&($file!=".DS_Store")) {
print '<ul id="home-list" class="table-view table-action">
<li class="even">
<a href="'.$directory.$file.'">
<h2>'.$file.'</h2>
</a>
[/list]';
}
}}}
closedir($directory_handle);
}
?>
Qui in pratica uso il classico script di lettura del file system, con la restituzione al js delle righe in html e con una piccola modifica. in pratica se il file trovato è un file vero collega direttamente al file, altrimenti se questo è una cartella, manda il risultato al js, che appendera le righe e avrà come collegamento la stessa funzione di prima, ovvero file(directory) ma richiamata con la directory aggiornata alla sottodirecory corrente.
So che il mio italiano non è preciso, ma spero mi abbiate capito!
Cio che, purtroppo, mi restituisce, è il collegamento all'ultima sottodirectory analizzata.
Allora ho provato con un array:
nel codice php di prima, dove ho evidenziato in grassetto, ho sostituito quelle righe con queste
codice:
<script> var i=0; var dir= new Array(); dir[i]='".$directory.$file."';</script>
<a href='javascript:file(dir[i]);'>
<script>i++;</script>
se inserisco un alert(dir[i]) mi restituisce la directory effettiva. Purtroppo però alla chiusura del php quell'array non esiste più, dunque tutti i collegamenti a file(dir) sono persi.
Spero mi abbiate capito e che riusciate ad aiutarmi.
Questo è l'ultimo sforzo della mia tesi di laurea.
Grazie mille a tutti