Upload viac suborov PHP

Programovacie jazyky, rady, poradňa...
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Upload viac suborov PHP

Príspevok od používateľa sharky-no »

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?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload viac suborov PHP

Príspevok od používateľa audiotrack »

nie je, musíš použiť uploader robený v jave, flashi a pod.
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Upload viac suborov PHP

Príspevok od používateľa sharky-no »

dakujem.

su aj nejake volne siritelne a zadarmo uploadery? ak hej, vedel by mi niekto nejaky odporucit?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload viac suborov PHP

Príspevok od používateľa audiotrack »

skús pozreť jupload alebo postlet
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Upload viac suborov PHP

Príspevok od používateľa sharky-no »

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
martasko
Amateur
Amateur
Príspevky: 10
Registrovaný: 19 dec 2006, 17:07

Re: Upload viac suborov PHP

Príspevok od používateľa martasko »

skus uploadify, alebo SWF upload, alebo Plupload
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Upload viac suborov PHP

Príspevok od používateľa sharky-no »

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

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>
volanie uploadu

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();
skript, v podstate 'http://'.$_SERVER["SERVER_NAME"].'/uploader/upload.php

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);
    }
?>
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 :(
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload viac suborov PHP

Príspevok od používateľa audiotrack »

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.
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Upload viac suborov PHP

Príspevok od používateľa sharky-no »

upload.php sa vola cez tuto funkciu:
new FlashUploader('uploader', 'uploader/uploader', 'http://'.$_SERVER["SERVER_NAME"].'/uploader/upload.php');
cisto cez PHP volany nie je.

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
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload viac suborov PHP

Príspevok od používateľa audiotrack »

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:

Kód: Vybrať všetko

new FlashUploader('uploader', 'uploader/uploader', 'http://'.$_SERVER["SERVER_NAME"].'/uploader/upload.php?dir='.$_POST['dir']);
a v upload.php odstráň riadok $dir=$_POST["dir"];
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Upload viac suborov PHP

Príspevok od používateľa sharky-no »

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

Kód: Vybrať všetko

header("location: http://www.google.sk");
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

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
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Upload viac suborov PHP

Príspevok od používateľa audiotrack »

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
Napísať odpoveď