potrzebuje napisać skrypt który tworzy tablice zdjęć uwzględniając podkatalogi.
To nie jest problem, kłopot pojawia się w momencie gdy chce posortować tablicę wg katalogów, plików alfabetycznie bądź odwrotnie.
w chwili obecnej kod funkcji wygląda następująco:
Kod
function getArPath($path)
{
if (is_dir($path))
{
if ($dh = opendir($path))
{
$i=0;
while (($file = readdir($dh)) !== false)
{
if(filetype($path . $file)=='dir' && $file!='.' && $file!='..' && $file!=$cfg['min_dir'])
{
$array[$i]['dir']=$path . $file;
$array[$i]['content']=getArPath($path . $file.'/');
if($array[$i]['content'])
{
srand(make_seed());
$array[$i]['thumb']=$array[$i]['content'][rand(0,count($array[$i]['content'])-1)]['thumb'];
}
if(file_exists($path . $file .'/'. $cfg['info_file']))
{
$file = fopen($path . $file .'/'. $cfg['info_file'],"r");
$title = fread($file,30);
fclose($file);
$array[$i]['title']=$title;
}
$i++;
}
else
{
if(substr($file,-4)=='.jpg')
{
$array[$i]['image']=$path . $file;
$array[$i]['thumb']=$path.$cfg['min_dir'].'/'.$file;
$i++;
}
}
}
}
}
return $array;
}
{
if (is_dir($path))
{
if ($dh = opendir($path))
{
$i=0;
while (($file = readdir($dh)) !== false)
{
if(filetype($path . $file)=='dir' && $file!='.' && $file!='..' && $file!=$cfg['min_dir'])
{
$array[$i]['dir']=$path . $file;
$array[$i]['content']=getArPath($path . $file.'/');
if($array[$i]['content'])
{
srand(make_seed());
$array[$i]['thumb']=$array[$i]['content'][rand(0,count($array[$i]['content'])-1)]['thumb'];
}
if(file_exists($path . $file .'/'. $cfg['info_file']))
{
$file = fopen($path . $file .'/'. $cfg['info_file'],"r");
$title = fread($file,30);
fclose($file);
$array[$i]['title']=$title;
}
$i++;
}
else
{
if(substr($file,-4)=='.jpg')
{
$array[$i]['image']=$path . $file;
$array[$i]['thumb']=$path.$cfg['min_dir'].'/'.$file;
$i++;
}
}
}
}
}
return $array;
}
Powyższa funkcja oddaje tablicę:
CODE
Array
(
[0] => Array
(
[dir] => gal/galeria1
[content] => Array
(
[0] => Array
(
[dir] => gal/galeria1/gal1_1
[content] => Array
(
[0] => Array
(
[dir] => gal/galeria1/gal1_1/gal1_1_1
[content] => Array
(
[0] => Array
(
[image] => gal/galeria1/gal1_1/gal1_1_1/_MG_1530.jpg
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1530.jpg
)
[1] => Array
(
[image] => gal/galeria1/gal1_1/gal1_1_1/_MG_1537.jpg
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1537.jpg
)
)
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1537.jpg
)
)
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1537.jpg
)
[1] => Array
(
[dir] => gal/galeria1/gal1_2
[content] => Array
(
[0] => Array
(
[image] => gal/galeria1/gal1_2/_MG_1528.jpg
[thumb] => gal/galeria1/gal1_2/_min/_MG_1528.jpg
)
)
[thumb] => gal/galeria1/gal1_2/_min/_MG_1528.jpg
)
)
[thumb] => gal/galeria1/gal1_2/_min/_MG_1528.jpg
[title] => galeria pierwsza
)
[1] => Array
(
[dir] => gal/galeria3
[content] =>
)
)
(
[0] => Array
(
[dir] => gal/galeria1
[content] => Array
(
[0] => Array
(
[dir] => gal/galeria1/gal1_1
[content] => Array
(
[0] => Array
(
[dir] => gal/galeria1/gal1_1/gal1_1_1
[content] => Array
(
[0] => Array
(
[image] => gal/galeria1/gal1_1/gal1_1_1/_MG_1530.jpg
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1530.jpg
)
[1] => Array
(
[image] => gal/galeria1/gal1_1/gal1_1_1/_MG_1537.jpg
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1537.jpg
)
)
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1537.jpg
)
)
[thumb] => gal/galeria1/gal1_1/gal1_1_1/_min/_MG_1537.jpg
)
[1] => Array
(
[dir] => gal/galeria1/gal1_2
[content] => Array
(
[0] => Array
(
[image] => gal/galeria1/gal1_2/_MG_1528.jpg
[thumb] => gal/galeria1/gal1_2/_min/_MG_1528.jpg
)
)
[thumb] => gal/galeria1/gal1_2/_min/_MG_1528.jpg
)
)
[thumb] => gal/galeria1/gal1_2/_min/_MG_1528.jpg
[title] => galeria pierwsza
)
[1] => Array
(
[dir] => gal/galeria3
[content] =>
)
)
Proszę o jakieś podpowiedzi jak to posortować.
pozdrawiam
już sobie poradziłem.