>> $mainURLx=explode('/', $_SERVER['PHP_SELF']); array_pop($mainURLx); array_shift($mainURLx); $mainURL="http://".$_SERVER['HTTP_HOST']."/".implode($mainURLx, '/'); // main URL <<< // gestione didascalie delle foto >>> if ($didascalia == "si") { // carico tutte le didascalie delle foto... if($dir_img AND file_exists($dir_img."/".$description_file)) { $data = file($dir_img."/".$description_file); $num = count($data); if($num > 0) { for($i=0; $i < $num; $i++) { list($file, $descr) = split('::', $data[$i]); // con trim tolgo i carattteri vuoti all'inizio e alla fine delle stringhe $description[trim($file)] = trim($descr); } } } // ...altrimenti creo il file $description_file, se non esiste else { if (isset($dir_img)) { $handle_file = fopen($dir_img."/".$description_file, 'w'); if(file_exists($dir_img)) { if ($handle_dir = opendir($dir_img."/")) { while($file=readdir($handle_dir)) { if(preg_match("/\.jpg/i",$file) && substr($file, 0, 2)!='T_') { $file_img=rawurldecode($file); $nome_immagine = $file_img." :: \r\n"; // scrivo il nome nel file description fwrite($handle_file, $nome_immagine); } } } } // inserisco la riga per l'autore delle foto fwrite($handle_file, "foto_by :: "); } } } // gestione didascalie delle foto <<< // leggo il nome delle foto dalla cartella e inserisco tutti i nomi delle foto in un array $handle = opendir($dir_img."/"); while($file=readdir($handle)) $file_array[] = $file; // creazione miniature per le foto >>> // se la minuatura non esiste vie creata, se non è della grandezza richiesta viene ricreata foreach ($file_array as $file) { // le miniature devono iniziare per 'T_' if((substr($file, -4) == ".jpg") && substr($file, 0, 2)!='T_') { $inFile = $mainURL."/".myrawurlencode($dir_img)."/".rawurlencode($file); // ottengo le dimensioni attuali list($width_orig, $height_orig) = getimagesize($inFile); // calcolo le nuove dimensioni if ($width_orig > $height_orig) { // se l'immagine e' orizzontale $new_width = $img_width; $new_height = (int) (($img_width / $width_orig) * $height_orig); } else { // se l'immagine e' verticale $new_height = (int) ($img_width-($img_width / 100) * 20); // -20% $new_width = (int) (($new_height / $height_orig) * $width_orig); } // memorizzo le altezze delle miniature per poi trovare quella massima $all_height_fileT[] = $new_height; $fileT="$dir_img/T_$file"; $ricrea_miniatura = false; // verifico se la miniatura ha le dimensioni richieste if(file_exists($fileT)) { list($width_fileT, $height_fileT) = getimagesize($fileT); if ($width_fileT != $new_width OR $height_fileT != $new_height) $ricrea_miniatura = true; } // creo o ricreo la miniatura if(!file_exists($fileT) OR $ricrea_miniatura) { $thumb = imagecreatetruecolor($new_width,$new_height); $source = imagecreatefromjpeg($inFile); imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig); imagejpeg($thumb, $fileT, 100); // imagejpeg ( resource_image [, string filename [, int quality]] ) ob_flush(); flush(); } } } // creazione miniature per le foto <<< // ordino l'array in ordine decrescente rsort($all_height_fileT); // ottengo il valore piu' alto di altezza delle miniature $max_height_fileT = $all_height_fileT[0]; // svuoto l'array dei nomi delle foto unset($file_array); // leggo di nuovo il nome delle foto per includere le miniature appena create $handle = opendir("$dir_img/"); while($file=readdir($handle)) $file_array[] = $file; // ordino l'array dei nomi delle foto sort($file_array); $div_width = $img_width + $adjust_width; if($album != "") $album = '['.$album.']'; // carico e visualizzo solo le miniature >>> $count = 0; foreach ($file_array as $file) { if((substr($file, -4) == ".jpg") AND substr($file, 0, 2)=='T_') { $_GETdir=myrawurlencode($dir_img); $fileT="$dir_img/$file"; $file_img=rawurldecode(substr($file, 2)); list($width_fileT, $height_fileT) = getimagesize($fileT); $nomeImmagine=substr($file_img, 0,-4); if ($didascalia == "si") { // se la desciption non e' vuota la didascalia diventa il nome dell'immagine if ($description[$file_img] != NULL) $nomeImmagine = htmlspecialchars(stripslashes($description[$file_img])); $didascalia_text = "
".str_replace("*", "
", $nomeImmagine)."
"; $nomeImmagine = str_replace("*", " ", $nomeImmagine); } $fotogallery.= '
'.$nomeImmagine.'
'.$didascalia_text.'
'; $count++; } // controllo quante miniature visualizzare if ($count >= $img_limit) break; } // carico e visualizzo solo le miniature <<< // scrivo l'autore delle foto se il valore non e' nullo if ($description[foto_by] != NULL) print "

(".$description[foto_by].")

"; return print $fotogallery; } //***************************************************************** // funzioni aggiunte da Lorenzo function myrawurlencode($TheVal) { return str_replace("%2F","/",rawurlencode($TheVal)); } function myrawurldecode($TheVal) { return rawurldecode(str_replace("/","%2F",$TheVal)); } ?>

Foto dal Festival

Serata delle premiazioni (sabato 31 ottobre)