Allora...io voglio contare i files jpg di tre cartelle e stamparne la somma...so come fare il controllo su una...ma quando provo a farlo su tutt'e tre non mi funziona...
1) Questo è il codice che uso per una sola cartella e funziona benissimo:
Codice PHP:
<?php
$path = "galleria_le_residenze\main";
$file_php = array();
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file != '..' && !is_dir($path."/".$file)) {
list($name, $ext) = explode(".", $file);
if($ext == 'jpg') {
$file_php[] = $file;
}
}
}
}
closedir($handle);
echo count($file_php);
?>
Quello che ho provato fare io era modificare il codice in modo che funzionasse per tre cartelle...e ne è uscito fuori questo:
Codice PHP:
<?php
// Assegno alle variabili il percorso delle tre cartelle perchè non son della zona e non conoscono la strada
$path1 = "galleria_paesaggio/images_01";
$path2 = "galleria_paesaggio/images_02";
$path3 = "galleria_paesaggio/images_03";
$file_img1 = array();
$file_img2 = array();
$file_img3 = array();
// Compro un pacco di assorbenti perchè inizia il ciclo, con apertura della cartella, lettura e controllo dei files con estensione jpg
if ($handle1 = opendir($path1)) {
while (false !== ($file1 = readdir($handle1))) {
if($file1 != '.' && $file1 != '..' && !is_dir($path1."/".$file1)) {
list($name1, $ext1) = explode(".", $file1);
if($ext1 == 'jpg') {
$file_img1[] = $file1;
}
}
}
}
// Chiudo la cartella perchè altrimenti fa corrente e perchè se non metto a posto mia madre mi sgrida...
closedir($handle1);
// Vabbè dai, qui faccio la stessa cosa di sopra per due volte
if ($handle2 = opendir($path2)) {
while (false !== ($file2 = readdir($handle2))) {
if($file2 != '.' && $file2 != '..' && !is_dir($path2."/".$file2)) {
list($name2, $ext2) = explode(".", $file2);
if($ext2 == 'jpg') {
$file_img2[] = $file2;
}
}
}
}
closedir($handle2);
if ($handle3 = opendir($path3)) {
while (false !== ($file3 = readdir($handle3))) {
if($file3 != '.' && $file3 != '..' && !is_dir($path3."/".$file3)) {
list($name3, $ext3) = explode(".", $file3);
if($ext3 == 'jpg') {
$file_img3[] = $file3;
}
}
}
}
closedir($handle3);
// Conto i risultati
count($file_img1);
count($file_img2);
count($file_img3);
// Sommo i risultati e, anche se il mondo è bello perchè è vario, li unifico in una unica variabile
$file_img_tot = $file_img1 + $file_img2 + $file_img3;
// adesso li mostro con un echo
echo count($file_img_tot);
?>
Solo che non funziona neanche un pò...In ogni cartella ci son 9 immagini e mi mostra 9 invece che 27...
Dove sbaglio?