Diskuze: Nahrávání obrázků

PHP PHP Nahrávání obrázků American English version English version

Avatar
Michal Kuba
Redaktor
Avatar
Michal Kuba:

Ahoj.
Chci se pustit do nahrávání obrázků od uživatele a následující zobrazení. Pro začátek to chci zatím udělat jako jeden obrázek k inzerátu.

Mám však pár dotazů:

  • nahrávat obrázky přes PHP do SQL databáze?
  • určitě nahrávat do databáze, když mám zatím jen velikost 50 MB? Zatím mám pouhými záznamy naplněno 0.02 MB
  • ošetření proti nahrání nějakého škodlivého skriptu?

Díky moc za odpovědi, pokud by ještě hrozilo nějaké riziko nebo něco, na co jsem neupozornil, budu rád za doplnění :-)

 
Odpovědět 9.8.2015 11:13
Avatar
Odpovídá na Michal Kuba
Denis Homolík (Alfonz):

Obyčejně se to dělá tak, že obrázky nahráváš do nějaké složky a do databáze ukládáš jen název.

Nahoru Odpovědět  +2 9.8.2015 11:18
Vše je možné, dokud si to myslíte!
Avatar
Michal Kuba
Redaktor
Avatar
Avatar
Marek Z.
Redaktor
Avatar
Odpovídá na Michal Kuba
Marek Z.:

Při ukládání souboru od uživatele (který nahraješ na server) si vezmeš jeho název, který přiřadíš k němu do db (avatar, apod..).

Nahoru Odpovědět 9.8.2015 11:28
Chybami se člověk učí, běžte se učit jinam!
Avatar
Dominik Klapuch:

Obrázek si ulož na filesystém, název souboru do databáze.
Tady máš tipy pro ukládání souborů:
http://php.net/…ded-file.php#…

Nahoru Odpovědět  +1 9.8.2015 12:29
Kód a data patří k sobě.
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Marek Z.
Michal Kuba:

A když nemám přístup nahrávat na žádný server?

 
Nahoru Odpovědět  -1 9.8.2015 12:39
Avatar
Odpovídá na Michal Kuba
Ondřej Štorc:

Na něčem ti ten web běžet musí, tudíž máš i přístup na server...

Nahoru Odpovědět  +1 9.8.2015 12:42
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Ondřej Štorc
Michal Kuba:

Můžu to leda nahrávat třeba do souboru na FTP, tam a do db mám přístup..

 
Nahoru Odpovědět 9.8.2015 12:46
Avatar
Marek Z.
Redaktor
Avatar
Nahoru Odpovědět 9.8.2015 12:51
Chybami se člověk učí, běžte se učit jinam!
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Daniel Vítek
Michal Kuba:

Myslel jsem do nějaké složky na FTP :D

 
Nahoru Odpovědět 9.8.2015 14:24
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Michal Kuba
Daniel Vítek:

No nevím jak jsi na tom s nahráváním souborů, ale klasicky se to dělá tak, že dáš do HTML form s input type file, pošleš to přes POST do PHP, v PHP si zjistíš dočasnou adresu toho souboru a pak si ho přesuneš do nějaké složky na FTP.

Pokud jej pak nějak chceš mít "propojený" s databází, můžeš si uložit název obrázku (případně cestu) do databáze a pak si vždycky vytáhnout jen ten název.

Editováno 9.8.2015 15:26
 
Nahoru Odpovědět 9.8.2015 15:26
Avatar
Richard Závodný:

Vytvoř soubor uploadfile.php a vlož do něj toto:

<form action="" method="post" enctype="multipart/form-data">
        <input type="file" name="file">
        <input type="submit" value="Odeslat">
</form>
<?php
        if($_FILES['file']!=""){
                move_uploaded_file($_FILES['file']['tmp_name'], "obrazky/". $_FILES['file']['name']);
        }
?>

Obrázky ti to uloží do adresáře obrazky.

 
Nahoru Odpovědět 9.8.2015 19:15
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Richard Závodný
IT Man:

Proč tam máš to action? :D
To tam být nemusí a je tam zbytečně.

Nahoru Odpovědět  ±0 9.8.2015 19:25
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Richard Závodný
Michal Kuba:

Jo, to jsem tak našel na spoustě webů - W3S atd.. Spíš právě budu řešit ten problém se zápisem do DB a následně zobrazení toho obrázku k danému vypsanému inzerátu..

Ještě takovej malej dotaz - když lze kontrolovat například zda obrázek není větší jak 50kB v jednom řádku jedním příkazem, lze třeba i takto zkontrolovat rozměr obrázku, který to mít MUSÍ?

Díky :)

 
Nahoru Odpovědět 9.8.2015 19:30
Avatar
Marek Z.
Redaktor
Avatar
Nahoru Odpovědět 9.8.2015 20:08
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na IT Man
Richard Závodný:

Ano být to tam nemusí to je prostě automat. Takže to ignoruj :).

 
Nahoru Odpovědět  +1 9.8.2015 20:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.