qualcuna sa se esiste una funzione che crea un'array, i cui valori siano i nomi dei file di una cartella???
qualcuna sa se esiste una funzione che crea un'array, i cui valori siano i nomi dei file di una cartella???
come si fa ad ordinare allo script di far vedere solo le estensioni contenute in un array??
una cosa così può andaer?
prova...Codice PHP:
$arrExtension = array("txt","php","html","doc");
$nome_file = 'pippo.txt';
$exp = explode(".",$nome_file);
if(in_array($exp[1],$arrExtension))
echo $nome_file." - ";
ciao
ho provato in tutti i modi...ma niente.
secondo me però sei motlo vicino alla soluzione, perchè credo sia così
SperoOriginariamente inviato da francy2
ho provato in tutti i modi...ma niente.
secondo me però sei motlo vicino alla soluzione, perchè credo sia così![]()
CMQ quel codice che ti ho postato, va bene se hai file del tipo:
"file1.php" estrapola 'php'
"file2.txt" estrapola 'txt'
ma se hai
"file3.pippo.html" estrapola 'pippo.html'
Se hai dei file così, dovresti sostituire il codice precedente con:
ciaoCodice PHP:
$arrExtension = array("txt","php","html","doc");
$nome_file = 'file.pippo.txt';
$ext = substr($nome_file,strrpos($nome_file,".")+1,strlen($nome_file));
if(in_array($ext,$arrExtension))
echo $nome_file." - ";
sempre più vicino:
ti posto il codice:
praticamente questa funzione crea un'array automatico dei file di una cartella; adesso però non riesco a fargli selezionare i file desiderati, cioè tutti i file immagine.Codice PHP:
<?php
function rec_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = rec_scandir($dir . "/" . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
function cmp($a, $b)
{
if ( is_string($a) && is_string($b) ) {
return strcmp($a, $b) > 0 ? 1 : -1;
}elseif ( is_int($a) && is_int($b) ) {
return $a > $b ? 1 : -1;
}elseif ( is_int($a) && is_string($b) ) {
return 1;
}elseif ( is_string($a) && is_int($b) ) {
return -1;
}else {
return 0;
}
}
function array_ukmultisort(&$arr, $func) {
uksort($arr, $func);
while ( list($key, $val) = each($arr) ) {
if ( is_array($val) ) {
array_ukmultisort($arr[$key], $func);
}
}
}
$dir = rec_scandir("./");
echo "<pre>";
$arrExtension = array(".txt",".php",".html",".doc");
if(in_array($ext,$arrExtension)){
print($ext);
echo "</pre>";
} ?>
nell'array $files dovresti avere quello che vuoi...Codice PHP:
function rec_scandir($dir)
{
$arrExtension = array(".txt",".php",".html",".doc");
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = rec_scandir($dir . "/" . $file);
}else {
$ext = substr($file,strrpos($file,"."),strlen($file));
if(in_array($ext,$arrExtension))
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
sinc non l'ho provato,prova e fa sapere...Codice PHP:
$arrFilesImage = rec_scandir("./");
print_r($arrFilesImage);