Starší komentáře ke článku: Práce s obrázky v databázi MySQL

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Jiří Vysloužil

Datum vložení: 24.10.2002 8:14:22

Zajímalo by mne, jestli nemůže dojít ke změně nebo poškození uploadovaného obrázku když se odstraní středníky a uvozovky? Nebo se tyto znaky v binárním obsahu obrázku vyskytovat nemohou?

Jirk@

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 24.10.2002 8:33:21

Tyto znaky se v binárním textu pro obrázek (pravděpodobně - nevím, nejsem na tyto věci odborník) nevyskytují, protože použití funkcí na přidání slashe před úvozovky a odstranění středníku nemá na kvalitu pbrázků žádný vliv.

Avatar

Autor komentáře: Štěpán Svoboda

Datum vložení: 24.7.2005 18:30:47

Pak mohu potvrdit, že to vliv má - nicméně je zde stále stripslahes()

Avatar

Autor komentáře: Siki

Datum vložení: 24.10.2002 9:20:38

Clanek jsem jen preletel, ale mozna by neskodilo si ho poradne precist, nez ho publikujete, objevil jsem tam nekolik drobnych chybicek, ktere by mohly nezkuseneho citatele trochu zmast (jaky atribut ma hodnotu <B>multipart/form-data</B>, chybi otaznik u <B><img src="<? echo $zaznam['obrazek'] >"></B> nebo je to spravne ? :-). Jeste jedna vec, nejsem si jisty, jak probiha kontrola typu souboru. Mam takovy pocit, ze kdyz nahraju nejakej peknej napr. .exe soubor, ale pojmenuju ho .jpg, tak to skript zchousta. V tomto pripade by to asi neprolezlo pres funkce <B>imagecreatefrom...</B>, nebo se mylim ?

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 24.10.2002 10:12:00

jo, mate pravdu, za obe nepresnosti se omlouvam, atributem je samozrejme enctype a otaznik pred ukoncovaci tag php patri

pokud byste se snazil nahrat .exe soubor, skript Vam vyhodi chybu presne tam, kde to ocekavate, tj. u funkce imagecreatefrom..., tuto chybu jsem explicitne neosetril...

s pozdravem
Ondra Marek

Avatar

Autor komentáře: Peter Laboš

Datum vložení: 16.4.2006 21:30:18

Ehm, hneď na začiatku štvrtého zdrojáku: // inicializace proměnných + bezpečnostní ošetření proměnné $id if(!isset($id)): $id=0; else: $id+=0; endif; Ja nejak nechápem čo to robí? Ak nie je nastavené id nastaví ho na nulu. Ale ak je tak ho nastaví na také isté aké je a pripočíta nulu??? Dosť divné. Žeby chybička?

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 16.4.2006 21:47:05

Tím, že k existující proměnné přičtete nulu, donutíte PHP k přetypování proměnné, takže v ní je nakonec nějaké číslo, ať už tam předtím bylo cokoli. Je to jedna z ne zrovna nejčistějších programátorských technik, ale chyba to asi nebude ;-)

Avatar

Autor komentáře: Peter Laboš

Datum vložení: 18.4.2006 12:56:27

Som začiatočník, tak som nevedel. Prišlo mi divné urobiť vlastne nič, akoby žiadnu operáciu. Ale ak je to teda kôli bezpečnosti, tak OK. Vďaka. Aj keď ja by som to asi riešil možno pomalším spôsobom, možno funkciou is_int(); či niečo podobné. Nemám ešte toľko znalostí. Ale chýb je tam viacej, tie sú však už spomenuté v diskusii. Napriek tomu, popri knihách, je interval môj najobľúbenejší server ;o)

Avatar

Autor komentáře: vesp

Datum vložení: 11.3.2008 11:35:33

takto preboha oprav!! hlavne ten otaznik, ok

Avatar

Autor komentáře: Lukas

Datum vložení: 25.10.2004 10:07:20

Formát obrázku by se měl ověřivat přes fc GetImageSize() ta ke svemu provozu nepotrebuje ani gd_lib a jistuje jak rozměry tak i formát douboru. Takže pak není problém s EXE a Jpeg JPEG,jpg JpG ......

Avatar

Autor komentáře: MaN

Datum vložení: 24.10.2002 11:28:24

v článku autor sám říká, že formulář bude podporovat soubory typu png, jpg nebp jpeg, ale posledně zmíněný poté sám podmínkou <B>if($typ!=".jpg" && $typ!=".png"):
</B> zakáže

dál nevím proč se tak zarputile drží proměnné $HTTP_POST_FILES, když všechny tyto data jsou i pod nazvém formulářového prvku FILE za podtržítkem tedy <I>názevprvku_name, názevprvku_type</I> ... atd

A to nejdůležitejší, pokud by uživatel chtěl na jedné stránce zobrazit více obrázků najednou, tak mu neúměrně narůstá počet dotazů na DB a počet volání skriptu pro zobrazení obrázku, takže je lépe popřemýšlet kdy tento způsob použít oproti první variantě

Jinak je to moc dobrý článek

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 24.10.2002 16:38:48

<I>dál nevím proč se tak zarputile drží proměnné $HTTP_POST_FILES, když všechny tyto data jsou i pod nazvém formulářového prvku FILE za podtržítkem tedy názevprvku_name, názevprvku_type ... atd </I>

tak tohle ti vydrzi do php 4.2, pak nazdar, precti si neco o register_globals, ja spis nechapu, proc uz primarne nepiseme $_FILES s patricnym komentarem ...

presne na tenhle nazor vetsina lidi narazi a pak jsou tisice otazek typu: proc se mi nepredavaji promenne??

Avatar

Autor komentáře: jakub

Datum vložení: 24.10.2002 16:42:36

viz subject

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 25.10.2002 8:21:53

prvni vase pripominka - viz odpoved v diskuzi
druha - opravdu si ten clanek prectete pozorneji:
if($typ!=".jpg" && $typ!=".png"):
// mohu nahrát pouze soubory *.jpg nebo *.png
$chyba="můžete použít pouze formát JPEG (JPG) nebo PNG";
pokud soubor NENI typu *.jpg nebo *.png, vyhodi to CHYBU a skript nebude pokracovat dale

Avatar

Autor komentáře: MaN

Datum vložení: 26.10.2002 19:05:42

ohledne prvni věci, jasně to je pádný důvod, tak napřed ještě nejsem :)

ale ohledně bodu dva, nikdy ste neviděl soubor "něco.jpeg"? Nesmíme být tak omezení na Windows, protože takových souborů je mraky a ta Vaše podmínka je odmítne ikdyž je to platný formát a je to to samé co "něco.jpg", takže tam směřovala moje připomínka ....

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 25.10.2002 8:27:57

jeste ta treti pripominka - opet viz clanek:
Primárním klíčem tabulky je pole „id“, které ve zmíněném příkladu internetové prodejny slouží k propojení tabulky „obrazek“ s další tabulkou, uchovávající všechny ostatní údaje o položce, jako její název, popis, cena a podobně. Při načtení a manipulaci s nabídkou obchodu se tak vyhneme zbytečnému zatěžování databáze, pole typu BLOB se načte jen na přímé přání zákazníka obchodu, například po kliknutí na odkaz "fotografie" k příslušné položce zboží obsahující parametr id.

Avatar

Autor komentáře: MaN

Datum vložení: 26.10.2002 19:13:06

proboha ale o tom nikdo nediskutuje, ale uvědomte si jakým způsobem ten obrázek následně zobrazíte ... musíte volat speciální skript, který nastaví hlavičku HTML dokumentu tak, aby prohlížeč věděl, že polezou data, které má zobrazit jako obrázek.

Ten skript samozřejmě musí znát ty data a ty mu můžete předat jako proměnnou, což je dost drsný (může to být i několik set řádku binárka) a
nebo mu říct jak si má ty data vyzvednout z DB

... tak i tak prostě ten samotný kod obrázku k zobrazení z DB vytáhnout musíme, jde jen o to, jestli to uděláme jedním dotazem nebo x dotazy (kde x je počet obrázků)

V každém případě se nepoměrně zvětšuje zátěž na DB, nemyslíte?

Avatar

Autor komentáře: Snowman

Datum vložení: 20.2.2003 22:57:16

Já osobně si nedovedu představit, jak byste to řešil. Obrázky se netahaj jako součást dokumentu, ale stahujou se až po tom, co prohlížeč zpracuje HTML a zažádá si o ně. A o každý obrázek si žádá jako o samostatný sobor.
Neříkám, že to nejde, zas tak jistý si nejdem, ale pokud víte, jak by se to dalo udělat, podělte se s námi.

Avatar

Autor komentáře: Hlada

Datum vložení: 17.1.2003 12:36:49

Máš pravdu , sám používám file_name , file_type, file_size je to o hodně pohodlnější.

Avatar

Autor komentáře: Hlada

Datum vložení: 17.1.2003 12:38:33

Máš pravdu , sám používám file_name , file_type, file_size je to o hodně pohodlnější.

Avatar

Autor komentáře: jakub

Datum vložení: 19.1.2003 23:29:35

ja se jen zeptam, jestli znate mozne nasledky sveho pocinani ... resp. jestli je nejaky dalsi duvod (krome pohodlnosti) pro pouzivate toto a nikoliv data primo z pole $_FILES. Ona sama existence tohoto pole ma sve opodstatneni. Vase pohodli (jakozto programatora) by mela jit pri psani aplikaci stranou - navic myslim, ze kdyz si vezmete data z tohoto pole, tak je to vyrazne pohodlnejsi a vite, ze data prijimate z bezpecneho zdroje.

Takhle totiz delate zajiste kontrolu na validnost a realnost prijatych dat, ze?

Avatar

Autor komentáře: Leo

Datum vložení: 24.10.2002 12:33:41

"Tento způsob má nespornou výhodu v minimálním zatížení databáze, nevýhodou však je komplikované zajištění samotného nahrání obrázku na server, například chceme-li jako autor aplikace internetového obchodu správu této aplikace, včetně editace obrázků k položkám zboží, předat přímo majiteli obchodu."

Ja to nechapu - upload obrazku prece musim udelat na server tak jako tak, rozdil je jenom v tom, jestli ho ukladam do databaze nebo na disk jako soubor, oboje php umi, pokud mam patricna prava... Takze nevidim vyhody druheho zpusobu... Leo

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 24.10.2002 16:41:45

souhlasim, jen dodam, ze VZDY je treba zvazit zamereni stranek a prostredi, ve kterem budou - na intranetu nebo velmi uzkemu okruhu uzivatelu na internetu budu davat obrazky klidne do db

nicméně bych výhody tohoto neshledával zrovna v "minimálním" zatížení db, coz si navic myslim, ze neni az tak pravda

Avatar

Autor komentáře: jakub

Datum vložení: 24.10.2002 16:46:11

:)

Avatar

Autor komentáře: Leo

Datum vložení: 24.10.2002 22:03:39

No v clanku se pise, ze minimalni zatizeni ma prave verze kdy obrazky do databaze NEdavas, pokud jsem to pochopil. Opravdu nevidim duvod, proc je tam strkat, resit nejake problemy s lomitky, apod., kdyz je muzu dat na disk a do databaze jen jejich nazev... Leo

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 24.10.2002 23:06:47

Důvodem, proč strkat obrázky a jiné binární objekty do databáze, je jejich snadná správa u rozsáhlých systémů a systémů určených k implementaci v prostředí zajišťovaném třetí stranou (webhosting). Zároveň odpadají problémy s odlišnostmi filesystémů různých platforem a ke slovu se dostávají i různé lahůdky v podobě objektových DB... ;-)

Avatar

Autor komentáře: Leo

Datum vložení: 25.10.2002 14:37:09

Ani v jednom (sprava systemu a ruzne platformy) nevidim problem, a tedy ani vyhodu reseni kdy obrazky strkam to databaze, mluvim treba o klasickem MySQL. Leo

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 25.10.2002 15:23:56

Je vidět, pane kolego, že jste se ještě nikdy nemusel potýkat s vývojem aplikací pro nehomogenní prostředí nebo třeba také pro prostředí, o němž nic nevíte a do kterého ani nemůžete zasahovat. Závidím Vám, zcela upřímně ;-)

Avatar

Autor komentáře: Leo

Datum vložení: 25.10.2002 16:26:21

Nejsem si uplne jisty, co myslite tim prostredim, jestli pocitace, site a programy a nebo toho, kdo bude system obsluhovat (upravovat obsah databaze a webu). Pokud to prvni, tak to bych opravdu nechtel delat neco pro prostredi o kterem nic nevim... Stejne musim vedet aspon to, jestli tam maji PHP a MySQL... Leo

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 25.10.2002 17:04:07

Existuje mnoho projektů, komerčních i OpenSource, které právě s tímhle vším musí počítat. Pak musíte důsledně oddělit databázovou vrstvu, vrstvu aplikační logiky, datovou vrstvu, prezentační vrstvu... Obvykle nabízíte svůj systém s tím, že jede v PHP (pokud si můžete určit i verzi, tak jste na tom dobře), protože podle toho si "zákazník" vybírá, všechno ostatní musíte dělat naslepo ;-)

Avatar

Autor komentáře: Leo

Datum vložení: 25.10.2002 20:05:52

Tak to si asi nerozumime jenom v tom, ze vy mluvite o projektech obecnych a univerzalnich (treba e-shop, ktery pak chcete nabizet a prodavat mnohanasobne), u nichz treba ani znamy zakaznik predem. Ja nastesti vzdycky delam projekty pro konkretni firmy a neni problem zjistit (a casto i zmenit) ty podminky. Leo

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 25.10.2002 20:16:46

Pak si ovšem musíte dávat pozor na situaci, kdy dojde k "technickému pokroku" nebo "technologickému posunu" - v obou případech můžete zjistit, že jste nahraný. A zákazník se jen diví, jak to, že mu to nefunguje, když "jenom" přešel z platformy XY.xx.xa na XY.xx.xb. ;-)

Avatar

Autor komentáře: Leo

Datum vložení: 25.10.2002 21:41:01

Myslite jako treba ze webhostingy prestanou podporovat PHP? Jak to predem osetrujete vy? :-) Vsechno stejne na vecne casy neosetrite... Leo

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 26.10.2002 0:11:18

Podporu PHP jsem samozřejmě neměl na mysli, to fakt už jde vyřešit dost těžko. Myslel jsem programování stylem, který mi umožňuje vyhnout se problémům při přechodu na vyšší verzi (například problém z poslední doby s automatickým zpracování globals - kdysi největší výhody a později největší bezpečnostní díry ;-) Všemu ostatnímu se už vyhnout můžete, pokud máte správnou architekturu aplikace. Za pár dní o tom vypustím asi článek ;-)

Avatar

Autor komentáře: Leo

Datum vložení: 26.10.2002 0:30:20

No ono staci, aby na serveru zakaznika zmenili verzi PHP, kde bude nejaky nepredvidatelny bug treba se sessions, nebo admin zakazal upload, nebo jim zmenili hesla pro MySQL a stejne se to neobejde bez zasahu do kodu... Ale porad nechapu, proc by melo byt vyhodou cpat binarni soubory do MySQL. Leo

Avatar

Autor komentáře: jakub

Datum vložení: 26.10.2002 12:43:42

Ale dyt Vy se oba dva bavite o tom samym, tak nevim proc ta diskuze?

Proste pokud ke mne nekdo prijde, ze chce stranky (nema domenu, nic), tak je jasny, ze mu doporucim php+mysql+apache+hosting ... optimalne pro nej a tomu to prizpusobim - i kdyz v tomhle pripade nemusim prizpusobovat temer nic.

1. Pokud ale prijde nekam, kde jede w2k server, IIS atd. pristup bude jen tudy a tudy a ja proste nehnu temer s nicim ...
2. obrazky budou jen ikonky (10x10px)
3. obrazky sice budou do 200kB (treba), ale uzivatelu 20
//cisla berte s rezervou

to jsou vsechno pripady, kdy je cpani obrazku do mysql regulerni.

kdyz ale vim, ze obrazky maj 1MB, uzivatelu jsou statisice, tak tim samozrejme nebudu tyrat databazi

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 27.10.2002 0:21:10

Ještě bych se vrátil k tomu ukládání binárek do DB - má to jednu podstatnou výhodu, kterou je informační kompaktnost. Volně uložené soubory na fileserveru totiž neumožňují určit, co jsou vlastně zač, nenesou o sobě žádnou metainformaci. Binárky v DB tuto informaci obsahují vždy, takže manipulace je snažší. Konkrétně u MySQL je potom úplně jedno, že je binární kód v tabulce, protože tabulka sama je uložena prostřednictvím filesystému serveru. Zátěž DB se tak vlastně ani nezvyšuje - dotaz, který by předal pofiderní odkaz na soubor, rovnou předá adresu binární sekvence. DB tak proteče jen o něco více dat, ke skutečnému zvýšení zátěže dochází až na interpretu PHP. Při vhodné optimalizaci skriptů a enginu je pak malé zvýšení zátěže bezproblémové ;-)

Avatar

Autor komentáře: Ondra

Datum vložení: 19.1.2003 23:19:45

Tak ted mi asi neco dost unika - jestli jste nekdo cetl navod k apachi (aspon tedy 1.3), tak vite, ze tam pisi, ze urcite bude rychlejsi poslat jeden soubor z file systemu nez:
- volat php
- pripojit se k db (no dobra, nebo jen checknout perconn)
- poslat dotaz do databaze
- provest dotaz v databazi
- prijmout z databaze (jiny proces!! - prectete si o rezii predavani dat mezi procesy) data do php
- opatrit data hlavickou
- odeslat data
No neni to trochu rozdil? A jeste neco - co prosimvas znamena
"dotaz ... rovnou předá adresu binární sekvence" - cozecoze? To jako zadate URI do databaze a ta posle soubor? Bavime se tady o MySQL? Nebo o Cache, Oracle, ...?

Avatar

Autor komentáře: Michal Ukropec

Datum vložení: 30.1.2003 14:26:35

Toto je sice pravda, ale je tu este jeden moment - lepsia uzivatelska funkcnost a zalohovanie. Robili sme projekt, ktory ma sirokej verejnosti umoznovat ukladat si prostrednictvom tzv. "disk managera" subory na server. User si mal vediet ukladat subory do adresarov, tie prehadzovat hore dole, kopirovat, zdielat medzi ostatnymi usermi danej skupiny apod. Povodne to bolo spravene "ako sa patri", t.z. ze subory boli na disku s unique nazvami a v db. boli len nazvy suborov a adr. struktura. Ale - aplikacia bezala na dvoch serveroch, na ktorych nebolo nic ine. Jeden mal na starosti web, druhy db. Ked riesili zalohovanie, zistili, ze web zalohovat vobec nepotrebuju, pretoze aplikaciu maju v archive na CDcku a uz sa dalej nevyvijala. Lenze co s 1,5 GB malych cudesnych obrazkov, ktore su na webserveri len kvoli cestam a s 1 GB databazou na sqlserveri? Zalohovanie malych suborov po sieti je celkom slusne otravne a tak sa rozhodli, ze vsetko (ale uplne vsetko) bude v databaze a bude sa zalohovat len ta.

Uznavam, ze z hladiska cisteho vykonu aplikacie to mozno nie je uplne optimalne, ale zmysel to ma a funguje to. Este doplnim platformu - ASP + MS SQL 2000.

UK

Avatar

Autor komentáře: Michal Ukropec

Datum vložení: 30.1.2003 14:34:11

Este jednu vec som zabudol (uz je to 1 1/2 roka, co to bezi :o) - bezpecnost! Ak su obrazky v adresarovej strukture a prava k obrazkom maju mat jednotlivy uzivatelia presne nadefinovane (napr. ze mozem vidiet len svoje), takze je PRAKTICKY NEMOZNE to zabezpecit na urovni filesystemu. Je tu moznost a to ze downloadovaci skript overi usera a potom ho presmeruje, ale to je malo bezpecne a ak by mu mal ten subor "nastreamovat", tak uz rovno moze byt v databaze (vid moj 1. prispevok). Toto su vsak specialne pripady, na bezne aplikacie je zbytocne ukladat cokolvek do databazy. Ak je vsak toho naozaj vela a je to nutne zabezpecit, tak inu moznost nevidim.

UK

Avatar

Autor komentáře: Cyrrano

Datum vložení: 20.5.2003 22:43:50

Koukam ze se tak troksu vyznas, tka bys me mohl poradit, jestli popr, jak vyuzivat image fce php.
???

Avatar

Autor komentáře: Ing. Ján Letko

Datum vložení: 6.3.2003 9:02:42

Máte pravdu, ale ako by ste vyriešili nasledujúci problém:

Mám Linux server a apache s PHP bežia pod užívateľom nobody.
Pošlem cez formulár súbor a chcem ho skopírovať do zvoleného adresára napr. pomocou move_uploaded_file (neviem či je to presný názov funkcie). Práva na adresár sú imlicitne nastavené na nejaké hodnoty od providera. Ako dokážete spustiť PHP script s právami iného usera ako beží apache s PHP ??? Inak totiž ten súbor do toho adresára nenakopírujete. Alebo áno ???

Poznáte iné rozumné riešenie ako databázu ??? Myslím v tomto prípade. Ak Áno, dajte mi prosím vedieť ako sa to dá inak, lebo mám presne tento problém pri e-shope, ktorý teraz robím.

Ďakujem.

Avatar

Autor komentáře: materfaker

Datum vložení: 6.4.2005 9:54:12

hladajte libapache-mod-suphp alebo: chown nobody.nobody /ten/adresar/kam/to/uploadujete (toto musi root)

Avatar

Autor komentáře: Gabriel

Datum vložení: 25.10.2002 15:33:23

Zdravim...

Takze v prvom rade si aj ja myslim, ze dava obrazok do DB moc zmysel nema. podla mna sa to da spravit priamo na disku pri patricnej adresarovej strukture, kde obrazky rozdelim podla niecoho a na disku bude nazov suboru podla IDcka v databa, aby odpadli nejake problemy s narodnymi znakmki. V DB bude iba ID, povodny nazov obrazku, sirka, vyska, typ a pripadne nejaky popis.
Dalej, co sa tyka IDcka. MySQL pozna taku vec, ze AUTO_INCREMET. Ked je priparnym klucom cislo, tak sa o IDcko nemusm starat a pri inserte ho nepisem, ale on automaticky vlozi nove o cislo vacsie ako posledne. To mi bolo hned divne, preco psi po vytvoreni tabulky zapisal do nej prvy zaznam a este divnejsie poznat IDcko obrazku este pred jeho uploadom. Co ked sa bude uploadovat viac obrazkov naraz...asi by to aj hentak fungovalo, ale je to podla mna zbytocne.

Pr: CREATE TABLE Obrazky (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
);

Dalsia vec. Zbytocne je pouzivanie fcii CreateImageFrom...(). Ked nieco uploadnes, tak vacsinou, ak je to normalna vec (ako napr. obrazky), tak sa poziela aj MIME typ. takze presne, ako mas _FILES['binFile']['size'], tak mas aj aj _FILES['binFile']['type'], kde je ulozene nieco ako 'image/jpeg' alebo 'image/png' a podla toho to spoznas. A este sa mi mari, ze pri obrazkoch spravi aj premenne s jeho rozmermi. Nieco v zmysle _FILES['binFile']['size_x'] a 'size_y'. Ale tymto uz som si neni fakt isty. Bolo to uz davno, co som robil upload obrazkov a kedze sa momentalne nachadzam v Londyne, tak k tomu nemam pristup.

PS: Ja saso...ma napadlo, ze som si so sebou zobral CDcko s takymito vecami co som robil a chcel robit aj tu. Takze ak to tam niekde mam, tak sa kuknem a mozno este napisem prese ako to je.
Zatial sa za pripadne blbosti ospravedlnujem. :-))

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 26.10.2002 8:33:23

zdravim,
odpovidam na Vase pripominky:
1) Takze v prvom rade si aj ja myslim, ze dava obrazok do DB moc zmysel nema
- i mne je jasne, ze dtb neni idealni reseni, pokud mate ftp reseni, umoznujici bezpecny upload napr. pri sprave internetoveho obchodu, sem s nim!
2) Dalej, co sa tyka IDcka. MySQL pozna taku vec, ze AUTO_INCREMET. Ked je priparnym klucom cislo, tak sa o IDcko nemusm starat a pri inserte ho nepisem
- jeden zaznam jsem natvrdo do tabulky vlozil z cvicnych duvodu, jak je zdurazneno i v clanku, samozrejme, ze mySQL ma pole typu AUTO_INCREMENT - princip vkladani ID do tabulky bude zaviset na konkretni aplikaci - princip uploadu (a to bylo tema tohoto clanku) to vsak nemeni
3) Zbytocne je pouzivanie fcii CreateImageFrom...().
neni, jednak kontroluje, zda nejde o podvrzeny soubor (napr. *.exe soubor prejmenovany na *jpg) a jednak diky teto a nasledujici funkci mohu zjistit pixelove rozmery obrazku - jiny zpusob, ani Vas naznacovany, neznam

Avatar

Autor komentáře: Gabriel

Datum vložení: 26.10.2002 16:14:46

cafko...

ad 1) Nemal som na mysli FTP riesenie, ale presne taketo ake tu bolo, az na to, ze obrazok ako taky by nebol v DB, ale by sa len skopiroval do nejakeho adresara k ostatnym obrazkom. Struktura adresarov by musela by samozrejme vhodne navrhnuta, aby nebolo v jednom adresari vela suborov a tak...ale to uz je o trosku o inom.

ad 2) OK ... Len mne neslo do hlavy to, ze najskor obrazku vygenerujes IDcko, ktore je ako HIDDEN pole vo formulari a potom k tomu IDcku vlozis obrazok. Lebo ked nahodou uzivatel sa rozhodne nic nevlozit, tak tam budu v tomto pripade pribudat prazdne zaznamy. POdla mna je pole ID vo formuylari zbytocne. ID by malo byt zname az po tom, co bol obrazok uploadnuty na server a vsetkych kontrolach. Ci uz tam bude AUTO_INCREMENT alebo nie. Inak toto je asi fakt princip vkladania do DB.

ad 3) No. Tak suhlasim :-). To co som pisal, si pri najblizsej prilezitosti overim. ALe potrva mi to tak tyzden z technickych pricin a mozno sa este potom ozvem.

PS: Dufam, ze nevadi, ze tykam. Nejak som vacsinou na internete na to zvyknuty. Ale staci povedat a zmenim to. :)

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 26.10.2002 17:34:58

cau

ad 1) a jak chces ten obrazek na server dostat? nejdriv ho musis uploadovat do nejakeho adresare pro tento ucel na serveru nakonfigurovaneho a teprve z neho ho zkopirovat do prislusneho zvoleneho adresare. Neumim si predstavit jiny schudny zpusob, jak muze napr. spravce obchodu na server obrazek dostat (pokud neni spravce serveru nebo neco podobneho) nez pres FTP nebo zapsat jako binarni soubor do dtb, kam mam pristup

ad 2) priklad vkladani zaznamu je takovyto:
spravce obchodu se rozhodne pridat do nabidky obchodu novou polozku - takze ji vlozi do tabulky napr. "vyrobky", kde je pole ID typu AUTO_INCREMENT + dalsi udaje, jako napr. popis, kod nebo cena polozky- v okamziku, kdy tento novy zaznam vlozi do tabulky, se vygeneruje nove cislo ID, ktery skript v dalsim prikazu vlozi automaticky do pole ID tabulky obrazky. Potom se pri update nebo vyberu prislusneho zaznamu v tabulce obrazky muze vzdy odvolat na ID dane polozky, protoze tyto dve tabulky (tj. "vyrobky" a "obrazek") jsou pres klicove pole ID v relaci

ondra

Avatar

Autor komentáře: Leo

Datum vložení: 26.10.2002 21:49:43

"ad 1) a jak chces ten obrazek na server dostat? nejdriv ho musis uploadovat do nejakeho adresare pro tento ucel na serveru nakonfigurovaneho a teprve z neho ho zkopirovat do prislusneho zvoleneho adresare. Neumim si predstavit jiny schudny zpusob, jak muze napr. spravce obchodu na server obrazek dostat (pokud neni spravce serveru nebo neco podobneho) nez pres FTP nebo zapsat jako binarni soubor do dtb, kam mam pristup"

Ja asi nejak nechapu co vlastne chcete rict, ale i pri vasem reseni musite obrazek uploadovat do temp adresare k tomu urcenemu - pak si ho pomoci php binarne ctete, upravite a ulozite do databaze. Stejne tak lze obrazek uploadovany v temp adresari k tomu urcenemu ulozit do meho adresare na serveru, staci, aby php mohl do adresare zapisovat... bud ho tam primo zkopiruje, nebo - pokud j

Avatar

Autor komentáře: Leo

Datum vložení: 26.10.2002 21:49:43

"ad 1) a jak chces ten obrazek na server dostat? nejdriv ho musis uploadovat do nejakeho adresare pro tento ucel na serveru nakonfigurovaneho a teprve z neho ho zkopirovat do prislusneho zvoleneho adresare. Neumim si predstavit jiny schudny zpusob, jak muze napr. spravce obchodu na server obrazek dostat (pokud neni spravce serveru nebo neco podobneho) nez pres FTP nebo zapsat jako binarni soubor do dtb, kam mam pristup"

Ja asi nejak nechapu co vlastne chcete rict, ale i pri vasem reseni musite obrazek uploadovat do temp adresare k tomu urcenemu - pak si ho pomoci php binarne ctete, upravite a ulozite do databaze. Stejne tak lze obrazek uploadovany v temp adresari k tomu urcenemu ulozit do meho adresare na serveru, staci, aby php mohl do adresare zapisovat... bud ho tam primo zkopiruje, nebo - pokud j

Avatar

Autor komentáře: Leo

Datum vložení: 26.10.2002 21:49:43

"ad 1) a jak chces ten obrazek na server dostat? nejdriv ho musis uploadovat do nejakeho adresare pro tento ucel na serveru nakonfigurovaneho a teprve z neho ho zkopirovat do prislusneho zvoleneho adresare. Neumim si predstavit jiny schudny zpusob, jak muze napr. spravce obchodu na server obrazek dostat (pokud neni spravce serveru nebo neco podobneho) nez pres FTP nebo zapsat jako binarni soubor do dtb, kam mam pristup"

Ja asi nejak nechapu co vlastne chcete rict, ale i pri vasem reseni musite obrazek uploadovat do temp adresare k tomu urcenemu - pak si ho pomoci php binarne ctete, upravite a ulozite do databaze. Stejne tak lze obrazek uploadovany v temp adresari k tomu urcenemu ulozit do meho adresare na serveru, staci, aby php mohl do adresare zapisovat... bud ho tam primo zkopiruje, nebo - pokud j

Avatar

Autor komentáře: Leo

Datum vložení: 26.10.2002 21:51:19

Zmackl jsem predcasne ENTER :-)

... nebo - pokud je to na serveru zakazane, tak ho nactu stejne jako vy, akorat pak ulozim na disk, ne do databaze. Leo

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 29.10.2002 9:08:10

opet Vam na to muzu rici jedine - napiste o tom take nejaky clanek, opravdu by me takoveto reseni zajimalo - zejmena z hlediska zajisteni uploadu obrazku svazanymi s jednotlivymi polozkami zbozi jednotlivych obchodu - mam na mysli treba aplikaci, kde mate X ruznych klientu, z nich kazdy je spravcem sveho obchodu a edituje si vlastni polozky (obrazky) + aby takoveto reseni bylo uzivatelsky i z hlediska BEZPECNOSTI pro majitele aplikace i pro jeho klienty tak jednoduche jako reseni pres dtb

s pozdravem
Ondra Marek

Avatar

Autor komentáře: MaN

Datum vložení: 29.10.2002 12:50:31

Nemyslím si, že by v tom článku bylo něco jiného než v tom Vašem, jde jen o to, že jsem chtěl upozornit ostatní, aby zvážili, zda se jim opravdu vyplatí dávat obrázky přímo do DB nebo zda je lepší vkládat do DB pouze záznam o propojení (obrázek x uživatel nebo obrázek x položka). Druhý způsob není nijak horší a poradí si se vším.

Napište mi příklad, o kterém neustále mluvíte konkrétně a pokud nedokážu najít způsob jak ho elegantně vyřeším druhou metodou, tak rád uznám, že sem se mýlil.

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 29.10.2002 13:14:56

no, asi by se tam musela nejak vyresit struktura adresaru + administrace prav k zapisu do techto adresaru + bezp. osetreni celeho procesu - tohle se v dtb resit nemusi nebo se to resi odlisne

neni mym cilem dokazat, ze se mylite, mym cilem je, abyste do intervalu prispel nejakym resenim i vy, protoze s praci se soubory v php na linuxovem serveru (standard) zkusenosti nemam a rad bych se priucil

zadani prikladu je myslim jasne - sprava polozek zbozi aplikace internetoveho obchodu

s pozdravem
Ondra Marek

Avatar

Autor komentáře: Gabriel

Datum vložení: 29.10.2002 17:08:44

Caf

Ak predpokladas vela uploadovanych obrazkov, tak <B>struktura adresarov</B> by sa riesit musela. Administracia prav k adresarom...ako sa to vezme. Adresare by mali byt najlepsie mimo dosahu WWW servera, a inak <B>administraciu prav</B> musis riesit na urovni, kto moze obrazky uploadovat (pripadne dalej mazat...) a kto nie. Ale toto musis riesit v kazdom pripade, teda aj v tom, ked ich kladas do DB. Bezp. osetrenie celeho procesu...neviem presne co myslis, ale je aj tak to tiez musis riesit v kazdom pripade, lebo oba pripncipy su <I>rovnake</I>, akurat, ze jeden spravi INSERT do DB a druhy spravi copy(src, desc).

A co sa tyka clanku.... Kedysi (pred rokom) som robil obchod, ktory je stale zda sa funkcny (minimalne internetove stranky), aj ked neviem ako si vedie v realnej uspesnosti, lebo uz pre tu firmu nepracujem. :-)) Okrem toho som samizda podpisoval nieco o utajeni nejakych informacii a tom co som programoval, ale to by nemal byt nejaky problem. :-)) Jediny moj problem momentalne je, ze sa nachadzam dlhodobo v Londyne, ale aj tak ma uz napadlo, ze by som sem mohol dat nejaky clanok. Takze, ak budem mavat nejaky cas, tak zosmolim presne to co chces. Spravu poloziek tovaru internetoveho obchodu. Len to nejaky cas (asi par tyzdnov??) potrva.

Gabriel

PS: Vsimol som si, ze tu mozem pouzivat aj jednoduche formatovanie. :-))

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 29.10.2002 20:07:19

<I>...oba pripncipy su rovnake, akurat, ze jeden spravi INSERT do DB a druhy spravi copy...</I>

Myslím, že v tomto případě se mýlíte. V případě DB totiž mohu práva a pravidla k manipulaci s daty stanovit já, jakožto vývojář, mohu je libovolně škálovat a svazovat s dalšími funkcemi. V případě ukládání souborů se musím spolehnout na administraci skrze filesystem, musím doufat, že bude prováděna správně a navíc si musím vystačit s tím minimem, které servery nabízejí (v praxi se navíc každý server chová odlišně ;-)

Avatar

Autor komentáře: Gabriel

Datum vložení: 30.10.2002 19:51:41

Zdravim...

<I>V případě DB totiž mohu práva a pravidla k manipulaci s daty stanovit já, jakožto vývojář, mohu je libovolně škálovat a svazovat s dalšími funkcemi.</I>

:-) Skoro vobec som to nepochopil. Samozrejme, ze si nastavim prislusne prava do DB. Ale z pohladu skriptu (a vlastne programatora) aj tak (aspon nepozanm dovod, preco by to malo byt inak) sa bude na DB pripajat nejaky uzivatel s loginom napr. <B>script_obchod</B> a heslom <B>password</B> a ten bude mat nastavene prislusne prava. Akurat z pohladu <B>uzivatela webu</B> bude musiet byt uzivatel (pokial ide o obchod trebars) prihlaseny a bude mat nejake vlastne prava, ktore suvisia s aplikaciu ako takou a nie priamo s DB. Bud bude moct pridavat nejake vyrobky a k nim obrazky, alebo to nebude moct robit. A ak to bude moct robit, do DB to zase zapise ten <B>script_obchod</B>.

V pripade ukladania suborov ostava pohlad <B>uzivatela webu</B> rovnaky, akurat sa spravi to copy. A samozrejme, ze na niektorych serveroch, ktore poskytuju free webhosting so skriptovanim, mozu byt nejake problemy, ale vytvarat adresare umoznuje kazdy server, len ich asi bude tazke (ak nie nemozne) nejak bezpecne <I>skryt</I>. Napr. ich dat uplne mimo dosahu web servera a nastavit ich prava tak, ze ich bude moct citat a zapisovat len <B>systemovy uzivatel</B>, pod ktorym bezia skripty.

Este aby nevznikol nejaky chaos, tak rozoberiem tych uzivatelov. Su tu tri typy:

1) <B>uzivatel webu</B> - to je normalny clovek, ktory sedi za pocitacom a pouziva tvoju aplikaciu. Pod nejakym menom sa do nej prihlasi a uploaduje obrazky. Trebars sa prihlasi ako <B>fero</B> s heslom <B>Katka78</B>.

2) Uzivatel, ktory sa pripaja k databaze (v tvojom skripte vytvori premennu <B>$pripoj</B>, ktoru na zaciatku predpokladas). Pre danu databazu ma nastavene urcite prava. Vacsinou pre jednu aplikaciu, je to jeden uzivatel (bez ohladu na to kto je <I>nalogovany</I>. Ako som povedal, nazvem ho trebars <B>script_obchod</B> a heslo <B>obchod128</B>. To budu parametre, ktore predas fcii <I>mysql_connect()</I>.

3) Systemovy uzivatel. Toto som asi napisal matuco, ale nic lepsie ma nenapadlo. Ale je to uzivatel, ktory sa priamo pripaja na dany server. Vlaste uzivatel operacneho systemu (dajme tomu Linux-u). Kazdy program "bezi" pod nejakym uzivatelom. Skripty trebar mozu bezat pod uzivatelom <B>nobody</B>, pripadne nejakym vytvorenym priamo pre ne.

Gabriel

PS: Ako sa prispieva na Interval.cz? Uz som dva krat mailoval na tu adresu, co je na stranke <a href='http://www.interval.cz/autori.asp' target='_blank'>http://www.interval.cz/autori.asp</a>, ale este som sa nedockal odpovede. Tak som si nie isty, ci tych novych autorov skutocne hladaju. :-)) Vdaka.

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 30.10.2002 22:53:55

Můžete napsat klidně přímo mně ;-)

Avatar

Autor komentáře: Gabriel

Datum vložení: 29.10.2002 16:53:31

cafko :-))

ad 1) takze...samozrejme, ze ho tam dostanem presne tak ako si napisal. Uploadne sa do nejakeho adresara a potom ho skopirujem inde. A to je vsetko. Vzdy ho musim niekam uploadnut, aj ked .... z pohladu programatora je to jedno kam, pretoze adresar pre uploadnute suboru je nastaveny v konfiguracii PHPcka. TAKZE. Uploadnem ho na server s formularom presnym (alebo podobnym) ako si spravil ty a potom ked to vsetko skontrolujem, tak ho skopirujem niekam inam, kde budu ulozene vsetky taketo obrazky k nejakym produktom.

ad 2) No...toto by chcelo viac vysvetlit. Neviem, ci som ta presne pochopil, ale takto mi to pripada, ze k tomu vyrobku mozes pridat len jeden obrazok. V clanku je napisane ze skryte pole "id" je IDcko obrazku. Ak by to bolo IDcko VYROBKU, tak s tym suhlasim. V tabulke obrazkov by este pribudol jeden stlpec "id_vyrobok" a to by bol cudzi kluc do tabulky vyrobky. IDcka obrazkov by boli generovane priamo pri vkladani samotneho obrazku a IDcko vyrobku by muselo byt zname a to by bolo ako skryte pole vo formulari.

Gabriel

Avatar

Autor komentáře: Jiří Dobrý

Datum vložení: 26.10.2002 18:30:06

Stalo by za to tenhle clanek i pro ASP + MySQL. Ja bych to urcite uvital...

Avatar

Autor komentáře: Ge0rge

Datum vložení: 3.11.2002 18:04:58

ASP + MySQL mi IMHO přijde jako dosti kuriozni kombinace. Teď nemyslim zrovna funkčně, ale prostě mi to k sobě nějak nesedi. :-))

Avatar

Autor komentáře: Leo

Datum vložení: 27.10.2002 13:34:32

Jeste jednu vec a koncim :-) Pokud je charakter stranek takovy, ze uprava databaze (konkretne informace o obrazcich) se dela typicky jednou tydne ale stranka, ktera si obrazky natahuje se prohlizi uzivateli treba 1000x za tyden, muzu si pri druhem zpusobu (ukladani obrazku mimo db) predgenerovat php stranky pokazde kdyz administrator db dela zmeny. Pak se databaze kvuli obrazkum cte (a php zatezuje) jenom jednou tydne, ne pri kazdem pozadavku na stranku od uzivatele. Leo

Avatar

Autor komentáře: kriplozoik

Datum vložení: 13.2.2003 13:19:26

spis bych misto konstrukce
if($chyba):
...
if($chyba):
...
endif;
...
endif;

pouzil

do{
...
if(...){$chyba+="text chyby"; break;}
...
}while(false);

a testoval bych i uspech nacteni poslaneho souboru
jinak dobry clanek

Avatar

Autor komentáře: 256

Datum vložení: 5.3.2003 20:44:28

obrazky v databazi? co si na nas vymysli priste? precliky v cokolade? ;-)

Avatar

Autor komentáře: Petr Fiala

Datum vložení: 30.5.2003 13:23:22

Dělám s PHP jen pár měsíců a potřeboval jsem vkládat obrázky do DB MySQL, tak jsem použil Váš článek, ale nemohu se dostat přes funkci imagecreatefrompng. Někde mám problém a nevím, kde. PHP_GD.DLL jsem zpřístupnil. Nepoužívám GIF, ale PNG nebo JPG a ani jedna mi nejde. Prosím o radu.Díky.

Avatar

Autor komentáře: Martin

Datum vložení: 6.6.2003 8:17:31

Postupoval jsem podle clanku, nicmene mam problemy se zobrazenim obrazku z databaze. Z databaze vyberu vsechny ostatni pole (velikost, sirka, vyska, typ,..), ale misto obrazku se zobrazi ikona "soubor neni k dispozici". Mohl by mi nekdo poskytnout funkcni script zobrazujici obrazek z databaze? Diky.

Avatar

Autor komentáře: ondra marek

Datum vložení: 8.6.2003 19:54:14

viz muj e-mail

Avatar

Autor komentáře: ondra hybeš

Datum vložení: 3.7.2003 23:09:25

ja mam problem se zobrazením obrázku místo něj se mi ukáže jenom hromada znaků, myslim že je to tim, že se nepřevede z binárního formátu ale nevim jak na to.

Avatar

Autor komentáře: Dalimil

Datum vložení: 2.6.2004 0:06:55

Taky mam tentyz problem - jen ostatni pole z databaze ano, ale obrazek samotny neni k dispozici. Prosim o pomoc.

Avatar

Autor komentáře: Dalimil

Datum vložení: 2.6.2004 0:12:39

prosím o Váš mail, pokud by to šlo... Děkuji. D.

Avatar

Autor komentáře: Ondra Marek

Datum vložení: 4.6.2004 6:56:41

zdravim vas,
problem s nacitanim obrazku z dtb je na strane serveru, nikoliv skriptu - bohuzel nevim presne, o co jde - mne to fungovalo jak na lokale pod Win, tak i on-line pod Linuxem, zkuste se obratit na spravce vaseho serveru, ja osobne jsem jiz tuto metodu nacitani obrazku zcela opustil a nyni vse resim ulozenim pouheho odkazu na obrazek do dtb a uploadu obrazku na server pomoci klasickeho formulare

Avatar

Autor komentáře: Dalimil

Datum vložení: 4.6.2004 18:17:29

Děkuji,
taky to tak udělám, jen musím přijít na nějaký způsob ukládání obrázků na server - od konvence pojmenování přes adresářovou strukturu po vlastní upload... :-)
D.

Avatar

Autor komentáře: chajka

Datum vložení: 16.6.2004 10:19:38

Zdravím všechny nadšence, nejdříve jsem zkusil tento tutorial a vůbec mi to nejelo (chyba na mé straně předpokládám). Pak jsem na netu našel tento

<a href='http://codewalkers.com/tutorials/35/1.html' target='_blank'>http://codewalkers.com/tutorials/35/1.html</a>

a ten funguje okamžitě, možnost stáhnout si zip soubory (odpadá kopírování textu atd.). ... Super... Je v anličtině.... Tak hodně zdaru všem...
chajka

Avatar

Autor komentáře: Kil

Datum vložení: 13.5.2005 22:55:50

No, ja som tiez skusal ukladat obrazky do databazy ale nakoniec som to urobil normalne cez filesystem. K jednoznacnej identifikacii pouzivam casovu peciatku timestamp. Cize nazov suboru ulozeneho je timestamp.jpg. Tym ma jedinecnost zarucenu na sekundu presne tusim. Ale ukladanie obrazkov do DB ma svoj zmysel urcite, len vsetko zavisi od sposobu aplikacie. Je treba vzdy zvazit co je dolezite, rychlost alebo bezpecnost alebo multiplatformovost. Dnesne PC su vyuzivane vykonovo velmi sporadicky, procesor ma dnes hocikto 3GHZ, 2GB ramky stoji 4000SK, takze nejako sa zaoberat tym ze to zatazuje server je podla mna bezpredmetne nech si hovori co chce kto chce. Ak to nie je projekt kde je miliony pristupov denne samozrejme. Peknym prikladom je vydavanie novych europasov. Spustili to a klaklo to prvy den co este boli DB prazdne :) A este takto sa spytam, ci ste niekto uz robil taky projekt kde ste narazili na problem slabeho vykonu PC (nepocitam disky, tie su brzdou dnesnych PC) ????

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 13.5.2005 23:26:08

[i]...ci ste niekto uz robil taky projekt kde ste narazili na problem slabeho vykonu PC...[/i] Ano, už několikrát jsem na takový projekt narazil. Nikdy to ovšem nebyl projekt takové povahy, kde by nepomohlo nakoupení výkonnějšího a přitom relativně levného železa. Fakt je ale ten, že náročnost projektu byla vždy dána použitou technologií a schopnostmi programátora tuto technologii správně využít ;-)

Avatar

Autor komentáře: Dany

Datum vložení: 29.8.2006 13:17:22

A co i jiné prohlížeče než na IE??? FF místo aby zobrazil stránku tak nabídne uložení souboru obrazek_vypis.php.....

Avatar

Autor komentáře: petraRuzova

Datum vložení: 22.12.2007 14:06:32

Prominte neprecetla jsem si to poradne a ted vidim ze to neni o praci(zamestnani) ale o praci(cinnosti) s PC...prominte jsem uz trosku mimo

Avatar

Autor komentáře: petraRuzova

Datum vložení: 22.12.2007 14:09:07

Dobrý den, potřebovala bych poradit s hledanim zamestnani- nemam s tim doposud zadne zkusenosti a opravdu si nevim rady- prozatim jsem se zaregistroval na nekolika pracovnich portalech www.pracw.cz, www.prace-rychle.cz atd. ale co dál?? Poradte mi prosim. Petra R.

Avatar

Autor komentáře: Tomáš

Datum vložení: 5.12.2006 23:39:16

Zdravím, příspěvek mi nefunguje. Formulář pro označení souboru k nahrání do databáze mám v samostatném souboru index.html. Po kliknutí na upload je okno prohlížeče prázdné (žádná chybová hláška), přičemž k přesměrování na obrazek_upload.php dojde. Snažil jsem se postupovat přesně podle článku. Myslím, že bude nějaký problém s komunikací s databází. Připojení k databázi mám tímto způsobem: $pripoj = require "db.php";. Předem děkuji za rady.

Avatar

Autor komentáře: Lolk

Datum vložení: 12.2.2007 7:58:17

Jak uploadlý obrázek zmenšit na určité rozměry například při uploadu 640x480 aby se zmensil automaticky na 200x200 a uložil na FTP v těchto rozměrech..

Avatar

Autor komentáře: Pepin

Datum vložení: 12.12.2007 20:09:11

http://trupik.aspweb.cz/programovani/php/thumbnaily-v-php.aspx Kdyz chcete zmensit obrazek tak se sem muzete podivat jak na to.

Avatar

Autor komentáře: Peter

Datum vložení: 22.12.2007 17:44:06

caute mam uz priemerne znalosti s php a mysql,chcem urobit jednoduchy web s realitami a neviem ci mam pouzit pre obrazky DB alebo filesystem. Ku kazdemu inzeratu bude priradenych 5 obrazkov, jeden s max. velkostou 300kb. Inzeratov na stranke bude asi 500 a jedinecnych navstevnikov bude asi 200 denne, ak mate niekto s tymto nejake skusenosti poradte mi prosim ci mam pouzit DB alebo filesystem a priblizne aky je rozdiel v rychlosti medzi filesystemom a DB v tomto pripade

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 23.12.2007 13:10:10

Na jednoduchý web použijte určitě filesystem. Výhody DB oceníte u rozsáhlejších projektů, až budete mít více zkušeností - zatím je filesystem pro vás lepším řešením i proto, že se snáz používá a méně toho můžete pokazit ;-)

Avatar

Autor komentáře: Lopy

Datum vložení: 31.1.2008 14:23:12

Chtěl jsem se zeptat zda mohu obrázek načíst do nějaký proměný a normálně vypisovat pomocí href. Nebo jakým způsobem ho ostypuju, nastavím atributy atd. Diky

Avatar

Autor komentáře: Zbynek

Datum vložení: 7.12.2008 22:32:16

ale musite mit apacehe :-)) pomoci htaccess to de RewriteCond %{REQUEST_URI} [^http](.*).jpg$ [NC] RewriteRule (.*).jpg$ obrazek_vypis1.php?id=$1 [N,L,QSA] a pak si ve vypisu obrazku z id zjistim nazev obrazku nebo id v databazi a vygeneruju ho :-)) me to pride docela fajn

Avatar

Autor komentáře: Martin

Datum vložení: 3.3.2009 12:33:09

Ahoj, při uploadu mi to stále hází hlášku "vyberte platný soubor" a žádný obrázek se nenahraje. Jediný zásah který jsem do kódu dělal, bylo přidání připojení k db. Nebo se musí ještě upravovat něco jiného?

Avatar

Autor komentáře: zbyn2k

Datum vložení: 9.5.2009 16:07:44

zkus zmenit globalni promennou na $_FILES, ten clanek je fakt starej :-)) $_FILES['binFile']['tmp_name']

Zpět na článek | Úvodní stránka Interval.cz