- Home
- Categorie
- Coding e Sistemistica
- PHP
- script visualizza file
-
@Jeeves said:
aggiungici la funzione return() nella funzione e poi usa la funzione
scusa ma non ho capito
-
Da me funziona, sbagli a mettere il percorso sicuramente
PS se quando apri un topic metti pure l'errore che ti da forse è meglio, altrimenti non risponde nessuno
-
veramente non mi da nessun'errore, funziona, sono solo i file dentro le directory che non me le visualizza. Ma non mi da nessun'errore.
-
Beh nello script non c'è nulla che dovrebbe fare quello che dici tu... se vuoi mostrati anche i file nelle cartelle devi richiamare la funzione per ogni cartella presente...
-
come potrei fare?
-
[php]
<?
$c = (isset($_GET['c'])) ? $_GET['c'] : '';// Nome della cartella
$car = '../file_corsi/'.$c.'/';function GetFile($car)
{
global $c;
// Se non è un cartella esco
if(!is_dir($car))
return 0;// Opendir è la funzione per aprire la cartella
$handle = opendir($car);// Ciclo la cartella
while (false !== ($files = readdir($handle)))
{
// Stampo i file
if ($files != '.' && $files != '..')
{
if(is_dir($car.$files))
$vc[] = $files;
else
$vf[] = $files;
}}
// Stampa dei file
echo 'Catelle:<br>';
for($i=0; $i<count($vc); $i++)
echo '<a href="1.php?c='.$c.'/'.$vc*.'">'.$vc*.'</a><br>';
echo 'File:<br>';
for($i=0; $i<count($vc); $i++)
echo $vf*.'<br>';
}// Richiamo La funzione
GetFile($car);
?>
[/php]
Si basa su questo tutorial Mostrare il contenuto di una cartella
-
grazie, sei stato gentilissimo, ma con il tuo script si ottiene lo stesso risultato che ho ottenuto io con il mio script, ti fa vedere i file nella root principale e le directory, ma non i file che si trovano all'interno di quelle directory.
-
Le cartelle hanno il collegamento... se ci clicchi vedi il contenuto
-
si lo so, il problema è che se clicco mi apre una nuova pagina con scritto:
Not Found
The requested URL /proxima/1.php was not found on this server.
-
sostituisci in <a href="1.php"> 1.php con il nome del tuo file
-
e se ci sono più file in quella directory?
-
quello che avrei voluto fare era questo:
auto/mercedes.jpg
auto/renault.gifmoto/honda.doc
moto/scooter/sh.xls
moto/yamaha.zipaeroplano.doc
elicottero.pdf
-
CIoè vuoi visualizzarli tutti in una pagina? mmm
è bello lungo come procedimento per il server...
-
ma non esistono script già pronti, cosa devo cercare su internet?
-
Già fatti non ne conosco...
-
era per non disturbarti però se invece ti va di aiutarmi, allora lo posso compilare con il tuo aiuto, però io di php non sono bravissimo, me la cavo un pò, ma questa cosa non riesco a farla
-
Mi sto confondendo con gli array x:x
-
ho trovato questo codice che funziona, solo che non mi mette i link ai file:
[PHP]
<?php
function list_elements($dir,$out)
{
$file_list = '';
$stack[] = $dir;
while ($stack)
{
$current_dir = array_pop($stack);
if ($dh = opendir($current_dir))
{
while (($file = readdir($dh)) !== false)
{
if ($file !== '.' AND $file !== '..')
{
$current_file = "{$current_dir}/{$file}";
if (is_file($current_file))
{
$file_list[] = "{$current_dir}/{$file}";
}
elseif (is_dir($current_file))
{
$stack[] = $current_file;
$dirs[]=$current_file; //l' array delle directory
//echo $current_file." corrisponde ad una directory<br>"; // questa
}
}
}
}
}
if ($out=='file')
return $file_list;
if ($out=='dir')
{
//$dirs=array_reverse($dirs);
return $dirs;
}
}$dirs=list_elements("../file_corsi",'dir'); // QUI gli dici che cartella vuoi leggere e ti restiuisce le directory
$files=list_elements("../file_corsi",'file'); // QUI gli dici che cartella vuoi leggere e ti restiuisce i filesecho "<pre>";
print_r($dirs);
print_r($files);?>
[/PHP]
-
[php]
<?
// Nome della cartella
$car = 'cartella/';function GetFile($car)
{
// Se non è un cartella esco
if(!is_dir($car))
return 0;// Opendir è la funzione per aprire la cartella
$handle = opendir($car);// Ciclo la cartella
while (false !== ($files = readdir($handle)))
{
// Stampo i file
if ($files != '.' && $files != '..')
{
if(is_dir($car.$files))
GetFile2($car.$files, &$vf);
else
$vf[] = $files;
}}
echo 'File:<br>';
for($i=0; $i<count($vf); $i++)
echo $vf*.'<br>';
}// Richiamo La funzione
GetFile($car);function GetFile2($dir, $vf)
{
$files1 = scandir($dir);
for($i=0; $i<count($files1); $i++)
if($files1* != '.' && $files1* != '..')
$vf[] = $files1*;
}
?>
[/php]
Unico problema riesce a prendere solo le immagini della prima sottocartella se ci sono cartelle nelle sottocartelle non prende i contenuti...
-
ho provato il tuo script ma mi da questo errore:
Fatal error: Call to undefined function: scandir() in /web/htdocs/vuvuvu.sito.it/home/corsi/file_corso_base.php on line 58