Hromadný upload souboru

17 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Zdravim vsechny, Chtel jsem se zeptat jestli nekdo nevi jakym zpusobem udelat do galerie tzv. hromadne nahrani obrazku. Jde mi o to ze uzivatel ktery je ke galerii prihlaseny muze vlozit neomezeny pocet obrazku do adresare a pri vkladani se pro kazdy obrazek vytvori jeden zaznam v databazi tak aby pozdeji tento clovek mohl jiz jednotlivymi obrazky prochzet a menit jejich dalsi prvky jako popis apod. Vim jak udelat to aby nahraval kazdy obrazek zvlast ale s tim hromadnym nahravanim si nevim rady dekuji predem za zaudou radu. Petr
  2. Je to podobne jako s jednim souborem. Tady se inspiruj: <FORM name="upload" ACTION="/main.php?stranka=upload/upload.php" METHOD="post" ENCTYPE="multipart/form-data"> <INPUT TYPE='file' name='UploadSoubor1' id='UploadSoubor1' SIZE='50'><br> <INPUT TYPE='file' name='UploadSoubor2' id='UploadSoubor2' SIZE='50'><br> <INPUT TYPE='file' name='UploadSoubor3' id='UploadSoubor3' SIZE='50'><br> <INPUT TYPE="submit" CLASS="tlacitko" NAME="Odeslat" VALUE="Přidat soubory"> </FORM>
  3. http://www.programujte.com/view.php?cisloclanku=2005061503
  4. jo.. a takhle muzes nahrat max 2MB..
  5. j-p: zalezi na nastaveni serveru.
  6. samozrejme sem predpokladal ze to dava na webzdarma.. :[ ale pravdu dis.
  7. http://mirrors.inway.cz/manual/cs/features.file-upload.multiple.php je to tam docela pekne popsany...
  8. <HTML>Ten priklad co napsal zbi mi prijde jako prace designera ne jako programatora.. programator samozrejme nevytvari X promennych ale vytvori jednu jako pole.. soubor1: input name="soubory[]" soubor2: input name="soubory[]" soubor3: input name="soubory[]" atd.. do scriptu se ti odesle 1 promenna ktera obsahuje pole souboru</HTML>
  9. Richard: Ten skript je funkční, i když zcela jistě lze optimalizovat. Myslím, že jako příklad na ukázku řešení zcela odpovídá na vznesený odkaz. Našel jsem ho na: http://www.chodec007.wz.cz/main.php?stranka=upload/upload.php
  10. Na URL které napsal zbi jako první (http://www.programujte.com/view.php?cisloclanku=2005061503) je taková menší nepřesnost, která může být docela zásadní (nefunkčnost skriptu a v případě začátečníků pochycení špatných návyků). Cituji: "Určitě není potřeba tento kód komentovat, jen si myslím, že stojí za zmínku tyto proměnné, které vzniknou automaticky po uploadu souboru. $soubor_name obsahuje název původního souboru. $soubor_size obsahuje velikost souboru. $soubor_type obsahuje typ původního souboru." To nemusí platit vždycky, záleží na nastavení serveru.
  11. Nevie mi prosim niekto z vás poradiť ako na upload adresára? Ak potrebujem umiestniť na web väčší počet súborov je zložité a zdĺhavé uploadovať ich po jednom na server. Ďalšou možnosťou by bolo zazipovať tento adresár a na strane servera ich pomocou PHP rozbaliť. Aké PHP funkcie na to slúžia, je potrebná nejaká extenzia a konfigur. direktívy v php.ini?
  12. jedine pres FTP.
  13. Nevím, jestli jsem správně pochopil, ale jestli chceš jen nahrát ručně soubory, použij nějakého ftp klienta.
  14. chcel by som napr. rozsiahlu fotogalériu (stovky fotiek) , pričom by som info o ich názvoch a umiestnení ukladal do MySQL db. Bolo by samozrejme možné pridať časom Ďalšie fotogalérie, pričom každá by mala fotky vo vlastnom adresári, takže nejde len čisto o upload týchto adresárov, ale aj o úpravu záznamov v db tabuľke - z tohto dôvodu nemôžem použiť ftp napr. cez Total Comander.
  15. jde to i s FTP. Ja mam svoji vlastni fotogalerii, do db ukladam zaznamy o fotkach. Do specialni slozky uploaduju pres FTP ty soubory a oni se mi pak jednim skriptem zpracuji (presunou, prejmenujou a zaregistruje v db) tak, jako bych je tam hazel po sobe formularem. Jednotlive galerie mam reseny podadresarema.
  16. Využívaš pritom nejaké funkcie FTP v PHP? Ak ano môžeš napísať alebo poslať nejakú ukážku na e-mail?
  17. ne, normalne to hodim na FTP do adresare (treba "nove-fotky") do podadresaru tak, jak chci, aby se jmenovaly galerie. Tohle by mel bejt skript, kterej to zpracuje. Musis nastavit spravna prava adresarum. Tabulky v databazi si uz odvodis. <pre><?php mysql_connect("mysql","mysql1","mojeheslo"); @mysql_select_db("mysql1"); function new_id(){ // vraci nove unikatni ID pro db fotek $selq = mysql_query("SELECT MAX(id) FROM fotky"); $id = mysql_result($selq,0,0)+1; return $id; } function registrovat_soubor($id,$galerie_id, $user_id){ // vrati uspech/neuspech $result = mysql_query("INSERT INTO fotky VALUES ('$id','','image[$id]','$galerie_id','$user_id')"); return $result; } function registrovat_galerii($jmeno) { // vrati ID vytvorene galerie $result = mysql_query("INSERT INTO fotogalerie VALUES (NULL,'$jmeno',UNIX_TIMESTAMP(),'24',UNIX_TIMESTAMP())"); $last_id = mysql_insert_id(); return $last_id; } function presun($filename,$adresar_z,$adresar_do,$id) { $ret = copy($adresar_z.$filename, $adresar_do."image[$id].jpg"); return $ret; } function seznam_podadr($adr) { // musi koncit lomitkem $handle = opendir($adr); while (false!==($file = readdir($handle))) { if (substr($file,0,1)!=".") { $path = $adr . $file; if(is_dir($path)) $res[] = $file."/"; } } closedir($handle); return $res; } function seznam_souboru($adr) { // musi koncit lomitkem $handle = opendir($adr); while (false!==($file = readdir($handle))) { $path = $adr . $file; if(!is_dir($path)) $res[] = $file; } closedir($handle); return $res; } // momentalni umisteni skriptu: doc_root/www/NF.php // NASTAVENI ADRESARU A USER-ID $upload_dir = "fotky-nove/"; $target_dir = "fotky/"; $uid = "24"; // user id echo "nacitam seznam galerii..."; $adresar = seznam_podadr($upload_dir); echo "hotovo.\n"; echo "nalezeno galerii: "; $pocetg=sizeof($adresar); echo "$pocetg\n\n"; for ($i=0;$i<$pocetg;$i++) { echo "Zpracovavam galerii ".($i+1)."/$pocetg ....\n"; echo " Registruji galerii $adresar[$i]...."; $galid = registrovat_galerii($adresar[$i]); if (!$galid) {echo "galerie nebyla registrovana!\n".mysql_error()."\n"; continue;} echo "ok\n"; echo " Pocet souboru v galerii: "; $soubor = seznam_souboru($upload_dir.$adresar[$i]); $pocets = sizeof($soubor); echo "$pocets\n"; for ($s=0;$s<$pocets;$s++){ echo " zpracovavam soubor $soubor[$s]..."; $id = new_id(); if (!$id) {echo "nebylo prideleno ID!\n"; continue;} $mov = presun($soubor[$s],$upload_dir.$adresar[$i],$target_dir,$id); if (!$mov) {echo "soubor nebyl presunut!\n"; continue;} $rgf = registrovat_soubor($id,$galid,$uid); if (!$rgf) {echo "soubor nebyl registrovan!\n".mysql_error()."\n"; continue;} echo "ok\n"; } } ?></pre>

← Zpět na všechna témata