« 1 2 »
Autor Zpráva
HomerJay
Profil
Ahoj. Rád by som vám ukázal niečo, čo som tvoril vyše pol roka s neskutočnými prestávkami, ale aj tak to bolo celkom dosť času (asi 10 hodín práce bez prestávky, viem že priveľa, ale predsa). Na mňa, čo som ešte pred rokom hovoril že nikdy sa PHP učiť nebudem to nie je taká hrúza... Chcem podotknúť že všetky texty, všetok kód a grafika sme urobili my, my a zas len my (keby sa niekto pýtal).

Nechcem nič len názor na túto stránku, v podstate je info o tom napísané už tu, ostatné si môžete domyslieť. Ide o Open-Source projekt, ktorý chceme zverejniť na voľné stiahnutie (samozrejme už na nejakej doméne). Pre väčší rozhľad skúste nahrať nejaký súbor (má to muchy, no funguje), skúste si administráciu (tu, heslo je "test") a povedzte prosím názor, či to má nejaký zmysel, či sa to môže uchytiť, prípadne kritiku a nedostatky. Za všetko budeme vďační.

// EDIT: Len chcem ešte pripomenúť že plánujeme podporu jazykov CZ/SK/EN, okrem toho je v administrácií možnosť prepínania vzhľadov, celkovo je to asi 7 farieb.



HomerJay
Profil
Inak dík za hodnotenia xD
imploder
Profil
HomerJay:
1) odkaz na podmínky není nijak zvýrazněný, po kliknutí na něj se nic nestane - tj. žádné podmínky nejsou, není s čím souhlasit/nesouhlasit
2) po nahrání souboru dostanu URL, když ho ztratím, mám smůlu - už nikdy se k souboru nedostanu
3) není možnost soubor smazat

Body 2) a 3) nejsou chyby, prostě je to jen primitivní služba. Funguje - co dodat :)
Pokud to někdo bude používat, nejspíš vám server časem zahltí. Jako experiment dobré.
HomerJay
Profil
imploder:
1) To áno, ide predsa len o betu, nechystáme sa to využívať, ale nechať aby to využívali iní, preto si podmienky napíšu sami (to mi pripomína pridať túto možnosť do administrácie :)
2) To je pravda, ako by si to chcel riešiť?
3) Nie, nie je a takúto možnosť ani nechystáme.

Server zahltí... Vďaka za názor, len neviem či si pochopil o čo vôbec ide. Chceme to na samostatnej doméne prezentovať ako open-source PHP script, vďaka ktorému sa môžu iní naučiť PHP (alebo HTML/CSS), alebo ho môžu využívať, no na vlastných serveroch/hostingoch. My sa to využívať nechystáme a ani nikdy nebudeme :) Ale vďaka.
shaggy
Profil
HomerJay:
Chceme to na samostatnej doméne prezentovať ako open-source PHP script, vďaka ktorému sa môžu iní naučiť PHP (alebo HTML/CSS), alebo ho môžu využívať, no na vlastných serveroch/hostingoch.
Učiť sa skripte niekoho, kto sa tiež učí? Neviem, či je to prínosné.
Prečo by mali využiť tento "nedorobený" uploader, keď na webe je dosť odskúšaných a použiteľných riešení?

A ak to chceš dať na stiahnutie, bolo by skôr lepšie poskytnúť kompletný balíček, aby sme si vedeli pozrieť, čo to obsahuje.
Myslím, že zabezpečenie toho systému je dôležitejšie, ako to vyzerá. A ak to máš zabezpečené ako testovaciu administráciu, tak potom zbohom.
Ukrytie buttonu v administrácii nezabráni odoslaniu formulára. Len tak zo zaujímavosti som skúsil zmeniť adresu webu na "http://www.emzak.eu/xuptest" a ono to funguje.

Dokonca mi tú adresu vyhodilo pri uploadovaní súboru, konkrétne:
http://www.emzak.eu/xuptest/files/IoxhNUI85FoQ5euICMTi/header.jpg
aj keď nechápem, prečo si v administrácii mám nastaviť nejakú adresu, keď s ňou vôbec nepracuješ, súbor mi totižto uložilo sem:
http://www.emzak.eu/uptest/files/IoxhNUI85FoQ5euICMTi/header.jpg
HomerJay
Profil
Nepracujem? Neukladá to podľa URL, ukladá to rovno do zložky, teda $cesta = "files/...", nie $cesta = "http://...".
Nie je to prínosné? Nemyslím si, ak sa to bude neustále vylepšovať a upravovať, nejakú šancu by to mať aj mohlo. Dosť odskúšaných a použiteľných? Okrem Mini File Hostu, ktorý poznáš? Ktorý by bol pre užívateľa jednoduchý na používanie, ľahko nastaviteľný, atď... Ja som takých veľa nevidel, no keď to hovoríš, asi to veľký zmysle nemá :)
S tou zmenou URL - nevidím v tom nejaký problém, len sa to testuje, bez hesla sa do administrácie nedostaneš (či áno?), takže keď by to niekto využíval, takéto niečo sa nestane.
JAAkub
Profil
HomerJay: Prosim, chcem sa ta opytat, ako robis ze ti to ukaze kolko je tam suborov. Diki ak mi poradis :D
JAAkub
Profil
Inak celkom pekna stranka ... mozno to niekam dosiahne :D
HomerJay
Profil
JAAkub: Vždy keď niekto nahrá súbor, systém to zapíše do samostatného súboru (všetko sa zapisuje do .txt súborov, preto netreba MySQL). Tiež sa do ďalšieho súboru zapíše a priráta veľkosť (v bitoch), no a potom sa to na indexe prečíta. Keby ti vypisujem všetky kódy, je to strašne na dlho, mám ti to celé upnúť a ty si to už nájdeš, či len sa tak pýtaš?
Kcko
Profil
Vzdyt to nema ani ajaxove nahravani, k cemu to je?
imploder
Profil
Nějak to nufunguje - odkazy na soubory hází 404.

Aby se odkazy neztrácely by se dalo řešit třeba takto:
- při prvním uploadu se mi vygeneruje identifikátor (uniqid) a uloží se jako cookies (jako že já, na tomhle počítači, v tomhle prohlížeči)
- na hlavní stránce pak budu vidět odkazy na soubory soubory, co jsem nahrál

Dalo by se to řešit jednoduše přes soubory, mít speciální adresář, kde se vytvoří soubor s názvem odpovídajícím vygenerovanému ID a bude obsahovat na řádcích cesty ke všem souborům nahraným s daným ID (tj. z prohlížeče, kde je uloženo jako cookies). Při uploadu se tam přidá řádek.

Svoje soubory bych měl mít možnost smazat. Kdo si to nasadí na server, asi bude funkci mazání chtít, nikdo nemá neomezeně místa.

Dál by mohlo být nějaké jednoduché přihlášení (klasicky jméno+heslo, případně ještě OpenID), abych měl ke svým souborům přístup i na jiných počítačích nebo po tom, co si v prohlížeči smažu cookies.
HomerJay
Profil
imploder - jn, niekto sa hral, skús http://emzak.eu/up
Inak vďaka za nápady.

Kcko - Jn, vidno že si veľký macher&frajer, nemusíš sem písať ale také hovädiny, vôbec ma to nezaujíma, zbohom.
JAAkub
Profil
HomerJay:
Ak by si mi to mohol upnut :D

Kcko : ako napisal HomerJay
HomerJay
Profil
Jasné, však to je zámer toho scriptu :D
Upozorňujem ale že je to len ďalšia testovacia verzia, preto to obsahuje nedokončené súbory (napr. jazyky, je tam francúzština, nedorobená čeština a nezačatá angličtina), atď. ber ohľad :)
Ukladanie nájdeš napríklad v upload.php, otváranie a čítanie hodnôt zo súboru nájdeš v config.php.
Potom zobrazenie nájdeš v after.php. Toť vsio hádam :)

Download TU.
fuckin
Profil
HomerJay:
Ahoj, mám pár otázek.

Proč jsou zde typy souborů omezeny?
Doufám, že název je ukládán jako hash, nebo ne?
Progress bar, nic?
Resume support u stahování?
Podpora download manageru?
Zjištění trafficu(třeba denně)?
Jakým způsobem ukládáš soubory?
HomerJay
Profil
fuckin:
A prečo by nemali byť? Upneš si tam .html či .php a koniec uploadu.
Prečo by sa mal ukladať ako hash pri takej jednoduchej aplikácií?
Nie.
A načo?
A NAČO?
A načo?
PHP, move_uploaded_file, najjednoduchšie ako to ide.
fuckin
Profil
ok díky, to mě stačí.
HomerJay
Profil
Nie ale fakt, vezmi si to, načo všetky takéto veci pre systém ktorý slúži na vzdelávanie sa a nie užívanie..?
fuckin
Profil
Když vzdělávat tak bez chyb v návrhu. Dělat upload systém bez ukládáni názvu jako hash je velká chyba v návrhu aplikace.

Ty další vlastnosti se dají přežít. Chápu, že začátečník nevyužije třeba progress bar, ale co když bude chtět umět něco víc? Proč mu nedat na výběr co se chce naučit? Třeba později bude moct z tvých zdrojáků čerpat. Je to TVOJE věc, dělej si to jak chceš, nicméně aspoň se nad tím zamysli, to mě bude stačit.
HomerJay
Profil
Zamýšľam sa. Zamysli sa aj ty, ono sa to predsa môže neustále upravovať, budú vychádzať nové verzie, všetko sa môže zmeniť...
Názvy cez hash... Smiešne že ani neviem ako sa to robí, no ani to vedieť nepotrebujem. Nie je to náhodou že sa zmení súbor z "Moj skvely subor.txt" na "qDjndDm.txt" či ako? Proste zmena celého súboru. Pretože ak si to niekto potom stiahne, nebude mať pôvodný názov. Ale možno sa mýlim, pouč ma, fakt neviem ako to myslíš :D
fuckin
Profil
Ok. Uploadnu soubor s názvem třeba slepice.doc.
Vytvořím unikátní md5 hash z názvu souboru a z aktualního času abych zajistil unikátnost.
$hash = md5($nazev_souboru.time());


Takže to třeba bude vypadat jako ef5c7bc4e720c493a0bf1d3fcec8182b. Toto bude název souboru, bez jakékoli přípony (tímto zajistím bezpečnost skriptu, ikdyž to bude php skript či cokoli jiného). V pokročilejších systémech to potom podle hashe dám do daných složek. Ale to tě nemusí zajímat.

Hash a původní název souboru uložím třeba do db nebo do nějakého souboru. Nevím jak to máš vyřešené.

Poté při downloadu otevřu hash, a v headers odešlu původní jméno souboru a vše se provede správně.
HomerJay
Profil
Zaujímavé, budem o tom premýšľať :D Vďaka :)
Mimochodom, tým si mi pripomenul generátor hesiel, že by som mohol tam zakomponovať...
imploder
Profil
fuckin:
Proč by měl tohle všechno dělat? Unikátnost je zajištěná použitím inikátního řetězce pro název adresáře, v tom adresáři je vždycky jenom jeden soubor (pro další se vytvoří další adresář s unikátním názvem). V nadřazeném adresáři je evidentně zakázaný výpis souborů, takže není možné zjistit, kde jsou uložené ostatní soubory. Mně to připadá bezpečnostně v pořádku (můžu se mýlit), to co popisuješ (použít kód pro samotný název souboru, na předevední zpět do toho pak tahat databázi a PHP skript na nastavení HTTP hlaviček) mi přijde naprosto zbytečné - v čem to bude lepší?
fuckin
Profil
imploder:
Unikátnost je zajištěná použitím inikátního řetězce pro název adresáře
Nestudoval jsem jeho návrh, řídil jsem se podle jeho odpovědí na otázky.

A co když třeba se nějakým způsobem dostane k linku na soubor? Nevím nebudu tu spekulovat. Nevíš co se může stát. Divil by ses co jsou schopni lidé dělat aby obešli všechny kontroli nebo aby získali nějaké citlivé data.

Já vím jak to dělají v praxi největší hostingové firmy, tak to dělám i já. Můj popisovaný způsob je zhruba poloviční návrh oproti reálu.
blizzboz
Profil
ahoj je to zaujímavé:

ale ten PHP kód vyzerá otrasne hovorí ti niečo OOP? znovupoužiteĺnosť kódu? životný cyklus softwaru predsa nekončí jeho prvým releasom. a čo oddelenie aplikačnej logiky od od prezentačnej? mal si pôužiť minimálne nejaký šablónovací systém alebo si vytvoriť vlastný. a dáta patria do databázy nie do txt súborov. keby i použil nejaký poriadny framework mohol si mať ten uploadovací systém omnoho rýchlejšie hotový a stálo by ťa to menej námahy.
HomerJay
Profil
blizzboz: zaujímavé. DB som zámerne nepoužil, nie každý server (napr. freehostingy) podporuje MySQL, PotgreSQL, XXXSQL, inak nič mi nehovorí OOP, znovupoužitelnosť kódu ani oddelenie aplikačnej logiky od prezentačnej. Vysvetlíš mi tie pojmy? Ďakujem.
blizzboz
Profil
to sa nedá vysvetliť v jednej vete o OOP(objektovo orientované programovanie) v PHP je na internete veľa článkov napr tento:

http://www.webfaq.cz/clanek/Objektove-orientovane-mysleni

alebo si zožeň knihu:

Objektovo-orientovaná tvorba systémov a jazyk C++

ale na tvojom mieste by som sa programovať učil v nejakom inom jazyku ako v PHP. najlepšie C# alebo Java. PHP vedie programátorov k praseniu kódu.

znovupoužiteľnosť kódu súvisí práve s OOP a dedením neviem ako by som ti to vysvetlil keď ani nevieš čo je OOP.

k oddeleniu aplikačnej logiky od prezentačnej vrstvy zjednodušene povedané ide o to aby sa programový kód nemiešal s HTML elementami.
HomerJay
Profil
Pred dvoma rokmi som takmer dokonale ovládal PAWN, to nemá ďaleko od ničoho, bez toho by som si v PHP ani neškrtol.
blizzboz
Profil
HomerJay:

čo je pawn?
shaggy
Profil
blizzboz:
hovorí ti niečo OOP?
Vidíš to moc čierno-bielo. Objektovo orientovaný prístup je fajn, ale nie je to jediná cesta, nevidím dôvod, prečo by to mal meniť.

mal si pôužiť minimálne nejaký šablónovací systém alebo si vytvoriť vlastný.
Na takýto primitívny projekt (rozumej jednoduchý v jeho podstate) je šablónovací systém zbytočný.

a dáta patria do databázy nie do txt súborov
Uf, tak to teda idem zmazať všetky txt súbory čo mám v počítači a prehodím si ich do Accessu. A mylanovi poviem, nech zmaže celý jeho systém.
« 1 2 »

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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