Anonymní profil shneck – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil shneck – Programujte.comAnonymní profil shneck – Programujte.com

 

Příspěvky odeslané z IP adresy 89.102.48.–

shneck
PHP › Řešení pro hromadný upload o…
24. 8. 2011   #146717

#4 null_while
Možná to je špatně vysvětleno, ale principielně to pracuje asi tak, že si označíš hromadu obrázků, které si chceš nahrát na web(což klasický input nedovoluje, musel by si označovat jeden obrázek za druhy, což je hrozně zdlouhavé a nepohodlně), ty přetáhneš do DIVu, kterej má vlastnost, že jeho obsah můžeš upravovat CONTENTEDITABLE....no a vedlejší produkt, týhle vlastnosti je ten, že dokáže obrázky od tebe z PC převés na text (aby se ten přetáhlej obrázek mohl zobrazit v tom DIVu)....Ten text je podle "zakódovanej", tak já ho dekóduju a uložim s příslušnou příponou. Chápu, že se dá pracovat i s jinejma typama obrázků než jenom s JPGčkem, ale právě proto musim zjistit tu příponu obrázku ještě dřív než ho uploaduju, protože při uploadu ho ukládám na web a potřebuju vědět jeho název i s příponou. Ale jelikož nepracuju se souborem jako takovym, ale s řetězcem, tak nemůžu používat metody jako 

$name = $uploadovany_soubor['name']; 

Protože prostě ukládám jenom čistej text....A ten potřebuju uložit do souboru s příslušnou příponou, protože, když uložim PNGčko jako JPGčko, tak ho v PHP nemůžu třeba zmenšovat, protože přístup k JPG je jinej než k PNG.

Pokud bych z PC vložil třeba PIC23.PNG a uložil ho pod jméno PIC23.JPG, tak už ho nezmenším, protože bych jednoduše nevěděl jeho původní příponu a pro práci s obrázky využíváš mimo jiné následující kód....Kterej si zase ale neporadí s tím, že ten obrázek je vlastně jenom přejmenovaný PNGčko

$image = imagecreatefromjpeg($filename);

Snad už je ve funkci mojeho skriptu jasno. V žádném případě neříkám, že to je nejlepší řešení, ale je moje, umožňuje hormadný upload bez otravného klikání na jednotlivé fotky, bez formulářů, klasickým přetažením, bez flashe, bez nutnosti prokousávat se stovkama řádků jquery, javascriptových, php, html kódů a zjišťovat, kde se má co změnit aby se to přizpůsobylo mojemu webu (vzhled, složka pro nové obrázky apod...). Pro mě osobně je to výhra, protože sám jsem strávil dost času hledáním jednoduchého uceleného skriptu, který umožňuje výběr více obrázků najednou bez zbytečné omáčky, tak abych si to upravil pro svojí potřebu....Kdybych strávil více času vymejšlením lepších názvů proměnných, tak by ten kód byl podle mě ještě více pochopitelnější, ale na to jsem neměl čas, byl jsem zvědavej jestli to bude fungovat...Ale i tak si myslim, že toho kódu neni tolik aby se do toho člověk nezakoukal a ihned bude vědět o co se jedná....

shneck
PHP › Řešení pro hromadný upload o…
20. 8. 2011   #146589

 Mělo by to být hned funkční po vytvoření adresáře galerie a nastavení práv toho adresáře na 777. Je to ale vyzkoušeno jenom na mozille...Uvítám postřehy z jiných prohlížečů a popřípadě i řešení.

<style>
.uploaddiv img
{
max-height:100px;
}
</style>
<?
if ("$akce"=="uloz")
{
$poletextu=explode("<img",$raw);
$pocet=count($poletextu);
for ($i=1; $i<$pocet; $i++)
{
$raw=stripslashes($poletextu[$i]);


if (eregi('image/jpeg', $raw))
{
$pripona="jpg";
}
if (eregi('image/jpg', $raw))
{
$pripona="jpg";
}
if (eregi('image/gif', $raw))
{
$pripona="gif";
}
if (eregi('image/png', $raw))
{
$pripona="png";
}
$raw=str_replace('" alt="">',"",$raw);
$zacatek='<img';
$prostredek='base64,';
$poz_zac=strpos($raw, $zacatek);
$poz_pro=strpos($raw, $prostredek);
$poz_pro=($poz_pro+6);
$odstranit=substr($raw, $poz_zac, $poz_pro);
$raw=str_replace($odstranit,"",$raw);
$decode=base64_decode($raw);
$jmeno=time();
$soubor = fopen("galerie/".$jmeno."-".$i.".".$pripona."", "w+");
fwrite($soubor, "$decode");
fclose($soubor);
}
}
?>
<body onmousemove="show()">
<script>
function show()
{
document.formular.raw.value=tabulka.innerHTML;
}
</script>
<br><br><center>
<div id="tabulka" class="uploaddiv" style="background: #cccccc; width: 90%;
height: 90px;" contenteditable></div>
<form name="formular" method="post">
<input type="hidden" name="raw">
<input type="submit" id="button" name="akce" value="uloz">
</form>

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý