Autor | Zpráva | ||
---|---|---|---|
serii Profil * |
#1 · Zasláno: 24. 7. 2013, 20:24:51
Dobrý den,večer.
po dlouhém přemejšlení jsem si řekl,že se skusím naučit..ne,spíše pochopit princip hromadného uploadu obrázků a následně zápis do db. Našel jsem si schválně jeden php script,který má div o nějaké velikost,a obrázky se tam přesouvají. Tady přihládám zdrojový kod. <?php if(isSet($_POST['raw']) && is_string($_POST['raw'])) { if(get_magic_quotes_gpc()) { $_POST['raw'] = stripSlashes($_POST['raw']); } // data in "data" URL scheme (http://tools.ietf.org/html/rfc2397) $images = array(); preg_match_all( '#<img\s+src="data:image/(?P<extension>[^;]+);base64,(?P<data>[^"]+)"[^>]*>#i', $_POST['raw'], $images ); $timestamp = time(); foreach($images['extension'] as $order => $extension) { file_put_contents( "galerie/$timestamp#$order.$extension", base64_decode($images['data'][$order]) ); } } ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Multiupload</title> <style> #tabulka { background:#CCCCCC; width:100%; height:100px; } #tabulka img { max-height:100px; } </style> <script type="text/javascript"> window.addEventListener("load", function(evt) { document.forms["formular"].addEventListener("submit", function(evt) { var form = evt.target, dataContainer = document.getElementById("tabulka"); form.elements["raw"].value = dataContainer.innerHTML; }, false); }, false); </script> </head> <body> <div id="tabulka" contenteditable></div> <form name="formular" method="post"> <input type="hidden" name="raw"> <input type="submit" value="Uložiť"> </form> </body> </html> všechno jakoby chápu až na jeden kus kodu a to tenhle preg_match_all( '#<img\s+src="data:image/(?P<extension>[^;]+);base64,(?P<data>[^"]+)"[^>]*>#i', $_POST['raw'], $images ); Děkuji za vaše rady. |
||
Oison Profil |
#2 · Zasláno: 25. 7. 2013, 13:33:43
Asi jde o tohle - http://doc.nette.org/cs/default-helpers#toc-datastream
|
||
serii Profil * |
#3 · Zasláno: 25. 7. 2013, 18:59:32
Oison:
nojo,ale problém je v tom,že já nette nepoužívám..takže mě je tohle k prdu.. |
||
Camo Profil |
#4 · Zasláno: 26. 7. 2013, 11:57:18
dovolím si to kopnúť hore, pretože už by aj mňa zaujímalo, či je možné z toho base64 reťazca dostať názov súboru. Nikto nevie?
|
||
PostCC Profil |
#5 · Zasláno: 26. 7. 2013, 13:25:24
Camo:
Nelze. V tom BASE64 řetězci není nic jiného než surová data obrázkového streamu. Tedy přímo to, co je následně interpretováno na displeji. Protože se jedná o inline zápis přímo v HTML, není žádný název souboru potřeba. Jediné rozšiřující informace, které ovšem nejsou zakódovány přímo v BASE64 jsou mime typ obsahu a kódování. Doporučuji vyhledat si např. klíčová slova "inline image" k pochopení problematiky. |
||
Camo Profil |
#6 · Zasláno: 26. 7. 2013, 19:23:53
PostCC:
No a ako by sa dal takýto script riešiť tak aby som získal meno súboru. Sa mi páči to presúvanie obrázkov. Či jedine si ho vypýtať od usera? |
||
serii Profil * |
#7 · Zasláno: 27. 7. 2013, 10:59:21
já jsem to nakonec vyřešil tak,že jsem ty obrázky přejmenoval na počet,takže pokud tam hodím 10 obrázků tak se budou počítat podle pořadí..tudíž 0-9..
a pak jsem dal možnost ty obrázky popř přejmenovat podle uživatele.. |
||
Časová prodleva: 11 let
|
0