Autor | Zpráva | ||
---|---|---|---|
Esonyx Profil * |
#1 · Zasláno: 16. 2. 2010, 18:30:38
Ahoj, řeším hromadný upload, ale bohužel mi nefunguje.
<form name=\"fotografie\" method=\"post\" action=\"\" enctype=\"image/jpeg\"> <input type=\"hidden\" name=\"odeslanyformular\" value=\"5\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /> <input value=\"Uložit\" type=\"submit\"> </form> if ($_POST["odeslanyformular"] == 5 && isset($_FILES)) { $hlaseniuploadu.= "Byl odeslaný formulář uploadu.<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][0] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][1] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][2] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][3] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][4] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][5] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][6] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][7] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"]["name"][8] . "<br />"; $hlaseniuploadu.= $_FILES["fotka"][0]["name"] . "<br />"; $hlaseniuploadu.= $_FILES[0]["fotka"]["name"] . "<br />"; Problém je v tom, že v proměnné $hlaseniuploadu je vždy jen "<br />". Nevadí že je na serveu vypnuté register_globals? Nebo mám chybu jinde? |
||
Jake898 Profil |
#2 · Zasláno: 16. 2. 2010, 18:42:50
Máš prohozené klíče pole.
Správně by mělo být $_FILES["fotka"][0]["name"] A ten poslední je úplně přehozenej. |
||
Esonyx Profil * |
#3 · Zasláno: 16. 2. 2010, 18:47:26
To jsem zkoušel na řádku 25. Přesto mi vyhodí pouze <BR />....
|
||
Majkl578 Profil |
#4 · Zasláno: 16. 2. 2010, 18:52:38
co vypíše
var_dump($_FILES); ?
|
||
Esonyx Profil * |
#5 · Zasláno: 16. 2. 2010, 18:58:11
array(0) {
} známená to že neobsahuje pole? |
||
Majkl578 Profil |
#6 · Zasláno: 16. 2. 2010, 19:04:05
Esonyx:
To znamená, že se na server nedostaly žádné soubory (nebo jsi to pole někde přemazal). |
||
Esonyx Profil * |
#7 · Zasláno: 16. 2. 2010, 19:09:12
No přemazané není, php kod je téměř na začátku,
<?php session_start(); ob_start(); // pokud doslo k uploadu tak zpracujeme data if ($_POST["odeslanyformular"] == 5 && isset($_FILES)) { var_dump($_FILES); $hlaseniuploadu.= "Byl odeslaný formulář uploadu.<br />"; $hlaseniuploadu.= $_FILES['fotka']['name'][0] . "<br />"; .... Může být potíž v tom, že formulář se zobrazuje pomocí javascriptu? Formulář se mi zobrazí až po zavolání této fce: function disp_prompt() { var zobrazit= "<b onclick=\"disp_promptx()\">Zavřít fotografie <img src=\"upico.gif\" border=\"0\"></b><br />"+ "<form name=\"fotografie\" method=\"post\" action=\"\" enctype=\"image/jpeg\">"+ "<input type=\"hidden\" name=\"odeslanyformular\" value=\"5\" /><table><tr>"+ "<td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/><td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/></tr><tr><td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/><td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/></tr><tr><td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/><td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/></tr><tr><td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/><td align=\"center\" valign=\"center\" style=\"width:380px;height:20px;\">"+ "<input type=\"file\" accept=\"image/jpeg\" name=\"fotka[]\" /><td/></tr></table><input value=\"Uložit\" type=\"submit\"></form>" document.getElementById("msg").innerHTML= zobrazit } Nevím jestli by se tohle vláko nemělo přeřadit do javascriptu, hih :) |
||
Majkl578 Profil |
#8 · Zasláno: 16. 2. 2010, 19:32:54
Teď mě napadá, není náhodou problém v tom, že atribut enctype formuláře by měl mít hodnotu "multipart/form-data"?
|
||
Esonyx Profil * |
#9 · Zasláno: 16. 2. 2010, 19:44:22
Máš pravdu, už to funguje... To mě nenapadlo... Moc dík za pomoc :o)
|
||
Lamicz Profil |
#10 · Zasláno: 16. 2. 2010, 22:55:56
Viz - Odkaz - Example #3
|
||
Časová prodleva: 5 měsíců
|
|||
Skeletonek Profil * |
#11 · Zasláno: 25. 7. 2010, 14:41:41
Našel jsem na PHP tenhle kód a fungoval mi bezproblému, jen musíš vytvořit složku data , která musí mit "práva" na 777 pokud to nepůjde, tak musíš i ten soubor ve kterým máš ten zdrojak.
<form action="" method="post" enctype="multipart/form-data"> <p>Pictures: <input type="file" name="pictures[]" /> <input type="file" name="pictures[]" /> <input type="file" name="pictures[]" /> <input type="submit" value="Send" /> </p> </form> <?php foreach ($_FILES["pictures"]["error"] as $key => $error) { if ($error == UPLOAD_ERR_OK) { $tmp_name = $_FILES["pictures"]["tmp_name"][$key]; $name = $_FILES["pictures"]["name"][$key]; move_uploaded_file($tmp_name, "data/$name"); } } ?> |
||
Časová prodleva: 14 let
|
0