Autor Zpráva
Vojtas
Profil *
Dobrý den, mám problém s uploadem více souborů na server.
html:
<table  style="margin-top:10px; font-size:12px; color:#333333; width:750px;" border="0" cellpadding="4" cellspacing="0">
                <tr class="row_to_clone">
                  <td align="left"><input type="file" name="up[]" /></td>
                 </tr>
                </table>
            <table name="upload" style="margin-top:10px; font-size:12px; color:#333333; width:750px;" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td align="left">&nbsp;<a onclick="addRow(); return false;" href="#">Přidat další řádek</a></td>
              </tr>
              </table>
              <input style="width:180px; margin-bottom:10px; margin-right:28px; float:right"  class="tlacitka_modre" type="submit" name="nahrat_fotky" value="NAHRÁT FOTKY"/>
              

javascript:
function addRow() {
    
    var elements, templateRow, rowCount, row, className, newRow, element;
    var i, s, t;
    
    
    if (!document.getElementsByTagName)
        return false; /* DOM not supported */
    elements = document.getElementsByTagName("tr");
    templateRow = null;
    rowCount = 0;
    for (i = 0; i < elements.length; i++) {
        row = elements.item(i);
        
     
        className = null;
        if (row.getAttribute)
            className = row.getAttribute('class')
        if (className == null && row.attributes) {   
            
            className = row.attributes['class'];
            if (className && typeof(className) == 'object' && className.value) {
                
                className = className.value;
            }
        } 
        
        
        if (className != "row_to_clone")
            continue;
        
       
        templateRow = row;
        rowCount++;
    }
    if (templateRow == null)
        return false; 
    
   
    newRow = templateRow.cloneNode(true);

    
    elements = newRow.getElementsByTagName("input");
    for (i = 0; i < elements.length; i++) {
        element = elements.item(i);
        s = null;
        s = element.getAttribute("name");
        if (s == null)
            continue;
        t = s.split("[");
        if (t.length < 2)
            continue;
        s = t[0] + "[" + rowCount.toString() + "]";
        element.setAttribute("name", s);
        element.value = "";
    }
    
   
    templateRow.parentNode.appendChild(newRow);
    return true;
}


Problém je v tom, že pokud chci po odeslaní formuláře nějak tyto data zpracovat tak mi nefungují vůbec funkce pro to určené jako např.: $HTTP_POST_FILES['up']['name'][$i], $HTTP_POST_FILES['up']['tmp_name'][$i]. Funguje pouze $_POST['up'][$i], který vrací jméno souboru.
Předem děkuji za rady co s tím.

Moderátor Chamurappi: Titulek „Upload vice souboru“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Majkl578
Profil
Má formulář atribut enctype s hodnotou "multipart/form-data"?
Chamurappi
Profil
Reaguji na Vojtase:
Majkl578 patrně udeřil hřebíček na hlavičku, symptomy sednou. Pokud se netrefil, dodej živou ukázku a asi i problematický PHP kód.
Mohu vědět, jaký smysl mají ty hrátky s proměnnou className? Proč do ní jednoduše nedáš row.className?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: