Vývoj byl ukončen. Chopte se toho vy! Uploader 2 na GitHubu.

php open-source projekt

„Neposílejte soubor,
posílejte odkaz!“

Technické informace o Uploaderu

ilustr1.gif, 3 kB

O funkcích

  • upload souboru :-)
  • smazání souboru
  • přepsání souboru
  • vytvoření složky (i uvnitř jiné složky)
  • smazání složky
  • řazení souborů – podle data (výchozí), jména, typu i velikosti, vzestupně i sestupně
  • odstranění diakritiky a mezer z názvů souborů i složek
  • ochránění přístupu k Uploaderu heslem
  • pamatování poslední cílové složky
  • jednoduchá statistika: počet souborů a celková velikost
  • možnost uživatelského nastavení
  • snadná změna textů
  • výběr z dvou jazykových verzí (cz / en)
  • open source

O technologii

Uploader je napsán v jazyku PHP bez použití objektů. Výstupem je XHTML 1.0 Strict dokument, formátovaný kaskádovými styly (CSS).

O licenci

Uploader je zdarma ke stažení, má otevřený kód a je volně šiřitelný pod licencí BSD. Polopatě řečeno to znamená, že s ním můžete dělat cokoliv, když zachováte viditelný copyright. Více informací o licenci BSD »

O vzhledech (neboli skinech)

K oficiální verzi Uploaderu jsou připojeny dva vzhledy. Každý z nich je definován svým CSS souborem a obrázky ve složce s názvem skin_jménoskinu. Pokud ovládáte CSS, můžete si ty hotové vzhledy upravit, anebo vytvořit zcela nový. Chcete-li, můžete nakreslit/nastylovat vzhled nový a poslat mi ho - bude zveřejněn na tomto webu.

Předpřipravené vzhledy jsou vytvořeny pro moderní prohlížeče. Používáte-li Internet Explorer, bude Vaše práce s Uploaderem o něco méně komfortní.

Poznámka ke Cool skinu: tento skin byl vyvíjen s hlavním ohledem na estetiku. V určitých situacích, např. vytvoří-li uživatel složku dlouhého jména, může dojít k "porušení" designu.

O struktuře a obsahu PHP souborů

index.php

  • includování dalších php souborů
  • kontrola složky pro upload, kontrola přihlášení
  • provedení uploadu souboru a všech dalších server-side operací
  • příprava seznamu složek
  • html kód
  • texty, popisky, atp. jsou načítány ze souboru upl_lang.php
  • javascript obsahuje dvě funkce - 1) rozbalování/balení složek na OnClick 2) kontrolní dialog před mazáním souboru či složky. (mazání funguje i bez JS, v tom případě ale bez ověřovacího dialogu)

Funkce whole_file_list spouští výpis všech souborů ve složce pro upload (a všech jejich podsložkách). Funguje takto:

  • 1. výpis názvů sloupců
  • 2. výpis kořenové složky pro upload - echo_dir('/') - jedná se o rekurzivní funkci
  • 2.1 výpis názvu složky
  • 2.2 výpis všech podsložek (volání echo_dir('cesta'))
  • 2.3 výpis setříděného seznamu souborů v dané složce
  • seznam všech souborů má XHTML-podobu sady vnořených tabulek

upl_lang.php

  • obsahuje všechny texty, chybové hlášky, popisky, labely, titly... usnadní to případný překlad.

upl_func.php

  • obsahuje veškeré php funkce. nejdůležitější soubor :).

upl_config.php

  • zde je možno nastavit si chování uploaderu.
  • nastavení existence hesla (ano/ne)
  • nastavení typu hesla (text/md5 hash)
  • nastavení hesla (samotné heslo :)
  • nastavení povolení přepisování souborů při uploadu (ano/ne)
  • nastavení povolení mazání souborů (ano/ne)
  • nastavení jména složky pro uploadované soubory - výchozí název složky je files
  • nastavení maximální velikosti složky pro upload - hodnota je v MB. Po překročení nastavené hranice už upload není možný.
  • nastavení jména css souboru - toť přepínání skinů
  • nastavení maximální délky jména souboru (delší jména se useknou (s ohledem na příponu))
  • nastavení odsazení podsložek a jejich souborů (ve výpisu všech souborů)
  • nastavení typů souborů a jejich přípon - typ se odrazí v názvu CSS třídy každého ze souborů ve výpisu a poté je možno si v CSS každý typ naformátovat odlišně.

O nových verzích

» 1.01 (20. července 2006)

  • Opraven problém s přihlášováním.

» 1.1 (27. července 2006)

  • Opraven problém s uploadem na některých hostinzích.
  • Přidána možnost nastavit si maximální velikost složky pro upload.

» 1.2 (14. srpna 2006)

  • opraveno zobrazování "php notices"
  • několik bezpečnostních vylepšení
  • několik drobných úprav kódu (např. v upl_config.php přibylo pole fn_hidden, obsahující položky nevypisované do seznamu souborů)
  • mezery v odsazení kódu byly nahrazeny tabulátory (upl_func.php se tím zmenšil o 1 KB :)