Freegal 2008 - Fotogalerie zdarma

Freegal 2008

Zde naleznete návod na řešení nejčastěji nastávajících problémů.

Prosím, čtěte nejprve tuto stránku. Kontaktujte mne až v případě, že zde nenaleznete potřebné odpovědi. Například e-mailem freegal@jkcz.info nebo na ICQ (pozor změna! 394-646-575), kde prosím v požadavku autorizace zmiňte, že se jedná o podporu skriptu freegal.

Známé problémy:
  • Práva k adresářům a souborům
    Projevy:
    1. Warning: dir(./pic/...) [function.dir]: failed to open dir: Permission denied ...
    Fatal error: Call to a member function read()
    (nebo podobná hláška)

    Tato chybová hláška vyjadřuje potřebu skriptu zapisovat do adresářů, které používá. Některé servery mají toto automaticky povoleno, některé ne. K vyřešení tohoto problému, musíte příslušným adresářům, ve kterých máte galerii a fotografie, přidělit příslušná práva. Každý hosting by měl mít k tomuto účelu své webové rozhraní. Pokud o něm nevíte a/nebo ho váš hosting nepodporuje - váš FTP klient určitě bude.

    Uvedeme si příklad "co dělat" na Total Commanderu. Po připojení se k serveru, najeďte na příslušný adresář a zvolte Files --> Change atributies (Soubory --> Změna atributů). V následující nabídce zaškrtejte "co můžete" (read, write, execute - u všech skupin). Pokud se v problematice více vyznáte, můžete zvolit i méně benevolentní oprávnění. Potvrďte. Vše by mělo nyní fungovat.

    Tip: Nastavení práv adresářů se u většiny serverů dědí. Proto doporučuji nejdříve u mateřského adresáře galerie (ten adresář, kam jste nahráli soubor galerie.php) práva nastavit a s ostatními již by neměla být potíž. Pokud napřed nahrajete fotky a teprve poté budete měnit práva, budete je ručně muset změnit u všech adresářů. Toto ovšem docela dobře řeší funkce v již zmiňovaném Total Commanderu "Recurse Subdirectories" ("aplikovat na podadresáře"), která to udělá za Vás.

    Proč to tak je: Každý server má nastavenou jinou politiku přidělování práv, bohužel nemohu znát konkrétní nastavení vašeho serveru, proto není možné udělat univerzální automatické řešení.

    Pro hlubší proniknutí do této problematiky doporučuji nastudovat php funkce chmod() a chown(), například na www.php.net

    Další možností, jak tento problém řešit je použití cizího skriptu na správu adresářů a souborů.
    Doporučuji QTO.com, je freeware jako naše galerie. Bohužel se jedná o skript v angličtině, ale běžné základy angličtiny postačí.

    2. Neexistující soubor galerie-data.dat
    Tento soubor vytváří galerie automaticky, jako úložiště pro uživatelské komentáře. Pokud se tento soubor nevytvořil a/nebo do něj nejde zapisovat, je postup zcela stejný jako v předchozím případě, jen je potřeba nastavit příslušná práva nadřazené složce - tj. složce, ve které je nahrán soubor index.php, nebo přímo souboru galerie-data.dat

  • Čeština
    Fotogalerie obsahuje podporu pro češtinu v názvech adresářů a pro různá kódování v souborech popisků.
    V souboru settings.php musí být nastaveno správné kódování v jakém jsou uloženy na serveru názvy adresářů a kódování v jakém jsou uloženy soubory popisků galerií.

    Bohužel ne všechny servery a prohlížeče češtinu v adresách plně podporují. Pokud se Vám tedy nezobrazují obrázky a náhledy, řešení je jediné - nepoužívat české znaky a mezery v názvech adresářů, např. "Vánoce 2005" -> "Vanoce_2005".

  • Vypršení času běhu skriptu
    Každý server PHP má časové omezení na běh skriptu. Většinou 30 vteřin. Pokud do galerie nahrajete velmi velké množství nových fotografií, skript (úvodní stránka) to rozpozná a pokusí se ke všem vytvořit náhledy. V tomto případě se může stát, že dojde k překročení maximálního času běhu skriptu. Náhledy jsou vytvářeny postupně a již hotové se neztratí - stránku stačí aktualizovat (F5) a bude vytvořen zbytek náhledů.

  • PHP 4 / 5
    Fatal error: Cannot instantiate non-existent class: main in .../index.php on line 4

    Spouštíte Freegal na serveru, který nepodporuje PHP5. Podpora PHP5 je pro běh aplikace nezbytná. Tuto situaci řešte s administrátorem serveru.