- Home
- Categorie
- Coding e Sistemistica
- PHP
- script visualizza file
-
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
-
$car = 'cartella/';
lo hai modificato?
EDIT manca la funzione usi php 4 perciò aspetta che ne faccio uno che funziona
-
[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)
{
// Opendir è la funzione per aprire la cartella
$handle = opendir($dir);// Ciclo la cartella
while (false !== ($files = readdir($handle)))
if($files != '.' && $files != '..')
$vf[] = $files;
}
?>
[/php]
-
Ho fatto una modifica ora dovrebbe fuznionare in tutte le sottocartelle
[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)
{
// Opendir è la funzione per aprire la cartella
$handle = opendir($dir);// Ciclo la cartella
while (false !== ($files = readdir($handle)))
if($files != '.' && $files != '..')
if(is_dir($dir.'/'.$files))
GetFile2($dir.'/'.$files, &$vf);
else
$vf[] = $files;
}
?>Vedi se finalmente ci siamo
[/php]
-
grazie funziona però i nomi dei file non hanno il link
-
[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[] = '<a href="'.$files.'">'.$files.'</a>';
}}
echo 'File:<br>';
for($i=0; $i<count($vf); $i++)
echo $vf*.'<br>';
}// Richiamo La funzione
GetFile($car);function GetFile2($dir, $vf)
{
// Opendir è la funzione per aprire la cartella
$handle = opendir($dir);// Ciclo la cartella
while (false !== ($files = readdir($handle)))
if($files != '.' && $files != '..')
if(is_dir($dir.'/'.$files))
GetFile2($dir.'/'.$files, &$vf);
else
$vf[] = '<a href="'.$dir.'/'.$files.'">'.$dir.'/'.$files.'</a>';
}
?>
[/php]
-
Grazieee E' Perfettooo.
Mio Salvatore!!!
-
Prego