Autor Zpráva
Patiseq
Profil *
Zdravíčko povedlo se mi udělat mojí první fotogalerii ale neumí otevírat album s diakritikou proto by mě zajímalo pokud by nějak nešlo změnit aby to v zadávání stránky nahoře prohlížeče to nepsalo název alba ale napsalo to něco ve smyslu: ?album=1
 <?php
$page = $_SERVER['PHP_SELF'];
// nastavení
$column = 3;
// složky
$base = "albumy";
// získat album
$get_album = $_GET['album'];
if (!$get_album)
{
echo "<h1><font size='4'>Fotogalerie</font></h1><br>";
 $handle = opendir($base);
  while (($file = readdir($handle))!==FALSE)
  {
   if (is_dir($base."/".$file) && $file != "." && $file != "..")
   {
     $x = 0;
    echo "<a href='?album=$file' class='gallery_link'><b><font size='4'>$file</a>"; 
        $x++;
        }
    
    if ($x==$column)
    {
     echo "";
     $x = 0;
     
    } 
   }
  closedir($handle);
}
else
{
 if (!is_dir($base."/".$get_album) || strstr($get_album,".") !=NULL || strstr($get_album,"/") !=NULL || strstr($get_album,"\\") !=NULL)
 {
  echo "Album neexistuje!";
 }
 else
 {
 $x = 0;
  echo "<h2><h1><font size='4'>$get_album</font></h1></h2><br />";
  $handle = opendir($base."/".$get_album);
  while (($file = readdir($handle)) !==FALSE)
  {
   if ($file != "." && $file != "..")
   {
    echo "<a href='$base/$get_album/$file' rel='lightbox[roadtrip]'><img src='$base/$get_album/$file' height='30%' width='30%'></a>&nbsp;&nbsp;&nbsp;";
    $x++;
    
    if ($x==$column)
    {
     echo "";
     $x = 0;
    }    
   }
   } 
  closedir($handle);
  echo "<br><br><a href='../fotogalerie/' class='gallery_link'>Zpět</a>";
 } 
} 
 ?>   
Chuck
Profil
Zdravím,

pokud nechceš použít databázi, tak můžeš adresáře pojmenovat tak, jak je chceš v adrese (bez diakritiky nebo třeba číslem) a do každého adresáře jednotlivého alba umístit jednoduchý textový soubor obsahující plný název alba (s diakritikou), který se má vypsat do stránky. A v programu tento soubor načíst a text z něj použít. Potom stačí, když bude mít soubor vždy stejný název a výjimkou se vyloučí z vypisovaných dat, stejně jako "." a "..".

Uvedu změny v kódu: (netestoval jsem a možná jsem se netrefil přesně do architektury - nutno poladit)

 <?php
$page = $_SERVER['PHP_SELF'];
// nastavení
$column = 3;
// složky
$base = "albumy";
// získat album
$get_album = $_GET['album'];
if (!$get_album)
{
echo "<h1><font size='4'>Fotogalerie</font></h1><br>";
 $handle = opendir($base);
  while (($file = readdir($handle))!==FALSE)
  {
   if (is_dir($base."/".$file) && $file != "." && $file != "..")
   {
     $x = 0;
     $namefile = fopen($base."/".$file."/name.txt","r");
     $name = fgets($namefile); // načtení reálného názvu do proměnné
     fclose($namefile);     
    echo "<a href='?album=$file' class='gallery_link'><b><font size='4'>$name</a>"; 
        $x++;
        }
    
    if ($x==$column)
    {
     echo "";
     $x = 0;
     
    } 
   }
  closedir($handle);
}
else
{
 if (!is_dir($base."/".$get_album) || strstr($get_album,".") !=NULL || strstr($get_album,"/") !=NULL || strstr($get_album,"\\") !=NULL)
 {
  echo "Album neexistuje!";
 }
 else
 {
 $x = 0;
  
  $namefile = fopen($base."/".$get_album."/name.txt","r");
  $name = fgets($namefile); // načtení reálného názvu do proměnné
  fclose($namefile);     
  echo "<h2><h1><font size='4'>$name</font></h1></h2><br />";
  $handle = opendir($base."/".$get_album);
  while (($file = readdir($handle)) !==FALSE)
  {
   if ($file != "." && $file != ".." && $file != "name.txt")
   {
    echo "<a href='$base/$get_album/$file' rel='lightbox[roadtrip]'><img src='$base/$get_album/$file' height='30%' width='30%'></a>&nbsp;&nbsp;&nbsp;";
    $x++;
    
    if ($x==$column)
    {
     echo "";
     $x = 0;
    }    
   }
   } 
  closedir($handle);
  echo "<br><br><a href='../fotogalerie/' class='gallery_link'>Zpět</a>";
 } 
} 
 ?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: