Upload viac suborov PHP
Upload viac suborov PHP
Neviem ako to mam hladat :\ tak zakladam temu..
php sa ucim "na kolene" a neviem najst informaciu o tom, ze ako sa uploaduje viac suborov naraz. robim galeriu, a pri uploade fotiek, chcem aby som mohol pouzit siet, a oznacit vsetky subory v zlozke.
Vacsinou som nasiel priklady na upnutie 1 suboru, alebo potom viac suborov, ale zas takym sposobom, ze by som musel kazdu jednu fotku oznacovat.
Ako sa taketo daco riesi? je na to nejaky specialny <input> vo formulari? alebo nejake zlozite skripty?
php sa ucim "na kolene" a neviem najst informaciu o tom, ze ako sa uploaduje viac suborov naraz. robim galeriu, a pri uploade fotiek, chcem aby som mohol pouzit siet, a oznacit vsetky subory v zlozke.
Vacsinou som nasiel priklady na upnutie 1 suboru, alebo potom viac suborov, ale zas takym sposobom, ze by som musel kazdu jednu fotku oznacovat.
Ako sa taketo daco riesi? je na to nejaky specialny <input> vo formulari? alebo nejake zlozite skripty?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Upload viac suborov PHP
nie je, musíš použiť uploader robený v jave, flashi a pod.
Re: Upload viac suborov PHP
dakujem.
su aj nejake volne siritelne a zadarmo uploadery? ak hej, vedel by mi niekto nejaky odporucit?
su aj nejake volne siritelne a zadarmo uploadery? ak hej, vedel by mi niekto nejaky odporucit?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Upload viac suborov PHP
ta galeria bude pre zakaznika ktory moc s PC asi nevie, a ked mu bude chybat java na pc tak pochybujem ze ju bude vediet nainstalovat. ale aj tak dik 
nasiel som nakoniec taketo flash riesenie inaFlashuploader
predsa len je vacsia pravdepodobnost, ze flash bude mat spojazdneny nez javu
nasiel som nakoniec taketo flash riesenie inaFlashuploader
predsa len je vacsia pravdepodobnost, ze flash bude mat spojazdneny nez javu
Re: Upload viac suborov PHP
tyka sa to tejto temy, tak nezakladam novu...
potrebujem poradit..
ako je mozne, ze cez $_POST ani $_GET neviem dostat premenu, ktora bola nacitana z formulara v jednom php skripte...
formular
volanie uploadu
skript, v podstate 'http://'.$_SERVER["SERVER_NAME"].'/uploader/upload.php
ked do $dir v skripte napisem natvrdo nejaky string (nazov zlozky) tak to ten subor tam upne.. cize upload funguje, len to predavanie premenej dako nejde 
potrebujem poradit..
ako je mozne, ze cez $_POST ani $_GET neviem dostat premenu, ktora bola nacitana z formulara v jednom php skripte...
formular
Kód: Vybrať všetko
<form action="admin.php?option=3" method="POST">
<p>Názov albumu: <input type="text" name="dir" /></p>
<input type="submit" />
</form>
Kód: Vybrať všetko
if(!empty($_POST["dir"]))
{
$dir="./galery/".$_POST["dir"];
mkdir($dir);
mkdir($dir."/thumbs");
mkdir($dir."/orig");
}
require_once './uploader/class.FlashUploader.php';
IFU_display_js();
$uploader = new FlashUploader('uploader', 'uploader/uploader', 'http://'.$_SERVER["SERVER_NAME"].'/uploader/upload.php);
$uploader->display();
Kód: Vybrať všetko
<?php
@extract($_FILES); //toto ani neviem co znamena :(
$filename = $_FILES['Filedata']['name'];
$temp_name = $_FILES['Filedata']['tmp_name'];
$error = $_FILES['Filedata']['error'];
$size = $_FILES['Filedata']['size'];
if(!$error) {
$dir=$_POST["dir"];
copy($temp_name, './../galery/'.$dir.'/orig/'.$filename);
}
?>
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Upload viac suborov PHP
ten druhý súbor (upload.php) sa kedy a kde volá? Ten prvý uploadovací súbor je čo zač? To je ten admin.php? A v ktorom skripte keď natvrdo napíšeš hodnotu do $dir tak to ide? Dal si tri fragmenty kodu ale vôbec netuším ako sú poprepájané, ktorý je z ktorého volaný a pod.
Re: Upload viac suborov PHP
upload.php sa vola cez tuto funkciu:
ten formular, nacitava nazov noveho albumu, teda novu zlozku, do ktorej sa maju uploadovat fotky...
a to volanie uploadu (stredny kod), sa objavi po odoslani formularu..
a vsetok kod je v subore admin.php(k jednotlivym castiam pristupujem cez podmienky a premenu option)
okrem "upload.php" ten je samostatny skript
takze este raz.
najskor sa objavi formular kde zadam nazov noveho albumu
po odoslani sa vytvoria zlozky pre novy album a potom sa vlastne zavola flash uploader, ktory si spusti upload.php, v ktorom mozem menit umiestnenie uploadnutych suborov.
preto nechapem, ze preco hodnotu z formulara, ktory bol odoslany skor nez bol volany upload.php, nedokazem nacitat.
cisto cez PHP volany nie je.new FlashUploader('uploader', 'uploader/uploader', 'http://'.$_SERVER["SERVER_NAME"].'/uploader/upload.php');
ten formular, nacitava nazov noveho albumu, teda novu zlozku, do ktorej sa maju uploadovat fotky...
a to volanie uploadu (stredny kod), sa objavi po odoslani formularu..
a vsetok kod je v subore admin.php(k jednotlivym castiam pristupujem cez podmienky a premenu option)
okrem "upload.php" ten je samostatny skript
takze este raz.
najskor sa objavi formular kde zadam nazov noveho albumu
po odoslani sa vytvoria zlozky pre novy album a potom sa vlastne zavola flash uploader, ktory si spusti upload.php, v ktorom mozem menit umiestnenie uploadnutych suborov.
preto nechapem, ze preco hodnotu z formulara, ktory bol odoslany skor nez bol volany upload.php, nedokazem nacitat.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Upload viac suborov PHP
ten upload.php sa tam zrejme neincludne, je to iba parameter pre ten konštruktor, a zrejme sa naň iba posielajú dáta z toho uploadera. Na to by bolo treba prezreť ako funguje tá trieda, ale neverím tomu že sa ten upload.php includuje a potom na tom nevidím nič nelogické. Ten parameter si predaj cez get: a v upload.php odstráň riadok $dir=$_POST["dir"];
Kód: Vybrať všetko
new FlashUploader('uploader', 'uploader/uploader', 'http://'.$_SERVER["SERVER_NAME"].'/uploader/upload.php?dir='.$_POST['dir']);Re: Upload viac suborov PHP
to som skusal, aj teraz som to skusil a nejde to..
skusal som dokonca aj cez session a neslo to.
a teraz som skusil, len tak vlozit na zaciatok upload.php a nepresmerovalo ma tam.. to asi nebude nejaky plnohodnoty php subor.. mozno si to php preklada flash(blbost?)...
ale asi to teda dynamicky nespravim
//autoeditácia príspevku (15 Aug 2010, 13:51)
suvisi to s temou, tak dalsia vec.
ako sa riesi vytvaranie nahladov obrazkov do galerii s velkym poctom obrazkov ?
problem vidim v tom, ze ten skript ktory ich vytvara moze trvat dlhsie nez je 60sekund, co je maximalna doba vykonavania skriptu. Da sa to nejako obist? je na to nejaky "trik", co sa tyka PHP (viem ze by sa to dalo este pri uploadovani rovno menit ale moja aplikacia nevytvara tieto nahlady), ako to je na platenych hostingoch? vedia ten cas zmenit len pre mna? popripade len pre konkretny php skript?
skript na vytvorenie thumbs
skusal som dokonca aj cez session a neslo to.
a teraz som skusil, len tak vlozit na zaciatok upload.php
Kód: Vybrať všetko
header("location: http://www.google.sk");ale asi to teda dynamicky nespravim
//autoeditácia príspevku (15 Aug 2010, 13:51)
suvisi to s temou, tak dalsia vec.
ako sa riesi vytvaranie nahladov obrazkov do galerii s velkym poctom obrazkov ?
problem vidim v tom, ze ten skript ktory ich vytvara moze trvat dlhsie nez je 60sekund, co je maximalna doba vykonavania skriptu. Da sa to nejako obist? je na to nejaky "trik", co sa tyka PHP (viem ze by sa to dalo este pri uploadovani rovno menit ale moja aplikacia nevytvara tieto nahlady), ako to je na platenych hostingoch? vedia ten cas zmenit len pre mna? popripade len pre konkretny php skript?
skript na vytvorenie thumbs
Kód: Vybrať všetko
<?php
function createThumb($spath, $dpath, $maxd) {
$src=@imagecreatefromjpeg($spath);
if (!$src) {return false;} else {
$srcw=imagesx($src);
$srch=imagesy($src);
if ($srcw<$srch) {$height=$maxd;$width=floor($srcw*$height/$srch);}
else {$width=$maxd;$height=floor($srch*$width/$srcw);}
if ($width>$srcw && $height>$srch) {$width=$srcw;$height=$srch;} //if image is actually smaller than you want, leave small (remove this line to resize anyway)
$thumb=imagecreatetruecolor($width, $height);
if ($height<100) {imagecopyresized($thumb, $src, 0, 0, 0, 0, $width, $height, imagesx($src), imagesy($src));}
else {imagecopyresampled($thumb, $src, 0, 0, 0, 0, $width, $height, imagesx($src), imagesy($src));}
imagejpeg($thumb, $dpath);
return true;
}
}
?> -
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Upload viac suborov PHP
skús si hneď na začiatku skriptu dať ini_set('max_execution_time', 300); (čas je v sekundách, takže 300 je 5 minút). Ak majú zakázanú možnosť meniť tieto premenné apachu dynamicky cez php alebo .htaccess, skús im napísať na podporu a možno ti to upravia. Bežne sa ale náhľady robia už pri uploade