Autor Zpráva
radas
Profil *
Zdarvím
mam takový upload vice fotek najednout
<input type="file" name="obr[]"  /> 

$nazev=StrTr($_POST["nadpis"]. "_".$_POST["nazev"],$prevodni_tabulka);   
   //prevodni_tabulka me zbavuje české diakritiky atd...
  if (isset ($_FILES['obr']['name'])) :
   $pripona = pathinfo($_FILES['obr']['name'][$n], PATHINFO_EXTENSION);
    for ($n = 0; $n < count($_FILES['obr']['name']); $n++) {
       if ($pripona == "jpg" or $pripona == "JPG") {
          $soubor = $n . "_" .$nazev.".". $pripona;
        if (move_uploaded_file($_FILES['obr']['tmp_name'][$n], "../file/" . $zaznam['id'] . "/".$soubor))     echo $upload_ok;
      else echo $upload_ko;
}}
  endif;

celý skript funguje dobře v FF Opeře IE6 ale IE 7 nahraje jen jednu fotku a nevím proč
radas
Profil *
ještě $zaznam['id'] mam z db to je vpohodě..
AM_
Profil
předpokládám, že jsi zkusil print_r($_FILES['obr']), viď?
radas
Profil *
to jsem zkusil ale vypisuje tam jen info o jednom souboru

Array ( [name] => Array ( [0] => 0@Opel_Vectra.JPG ) [type] => Array ( [0] => image/pjpeg ) [tmp_name] => Array ( [0] => ../Temp/php4E.tmp ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 78183 ) ) 


a měly se nahrat více souboru
AM_
Profil
zkus pastnout víc HTML kódu nebo link na stránku, jestli ti do $_FILES dorazí jen jeden soubor, musí být chyba někde v tom, jak IE7 chápe tvůj kód
radas
Profil *
no form vypada tak to

<form name="formatovani" action="pridat.php" method="post" enctype="multipart/form-data" onsubmit="return check(this);post.disabled=true;">
<input type="text" name="nadpis" size="20" />

<ul id="fotky">
<li id="li1">
<input type="file" name="obr[]" /> </li>
</ul>
<a href="javascript:addNewInput('fotky');">Další obrázek</a><br />

tak mě napadlo že problém bude asi v js který se načina na začatku stránky a vypada takto

     var pocet = 1;
function addNewInput(e)
{
pocet++;
// LI element
newLi = document.createElement("li");
newLi.id = "li" + pocet;
// INPUT element
newInput = document.createElement("input");
newInput.type = "file";
newInput.name = "obr[]";
// A element
newLink = document.createElement("a");
newLink.href = "javascript:removeInput(" + pocet + ");";
newLink.setAttribute('class', 'adminmenu' );
newLink.innerHTML = "Smazat tento obrázek";
// Complete new element
newLi.appendChild(newInput);
newLi.innerHTML += "&nbsp;";
newLi.appendChild(newLink);
// Add to page
document.getElementById(e).appendChild(newLi);
}
// Remove DIV element containig INPUT and A elements
function removeInput(id) {
pInput = document.getElementById('li' + id);
pInput.parentNode.removeChild(pInput);
}
function visibleAnswers(e) {
//Elements default
var defaultAnswers = 2;
for (i = 1; i <= defaultAnswers; i++) {
newLi = document.createElement("li");
newLi.id = "li" + i;
newInput = document.createElement("input");
newInput.type = "file";
newInput.id = "o[]";
newInput.name = "o[]";
newLi.appendChild(newInput);
newUl.appendChild(newLi);
}
document.getElementById(e).appendChild(newUl);
}

ale nevím nejsem si jisty..
Chamurappi
Profil
Reaguji na radase:
Opravdu ti tento skriptu fungoval správně v Exploreru 6? Tipnul bych si, že nikoliv.
Uprav výrobu uploadovacích <input>ů takto:
var newInput;
try
{
  newInput = document.createElement("<input type='file' name='obr[]'>");
}
catch(e)
{
  newInput = document.createElement("input");
  newInput.type = "file";
  newInput.name = "obr[]";
}
radas
Profil *
Chamurappi
děkuji opravdu mi to fungovalo..a ja jsem si nevšilm že jsem si to přejmenoval ...a protože ten js je v externím souboru tak jsem na to nemyslel..děkuji za pomoc....
radas
Profil *
Chamurappi
trochu jsem tě nepochopil...snažil jsem se to upravit a vysledek je že to jede tedy pod IE i pod FF ale teď mi to zase nechce schroustat Opera
moje uprava
var pocet = 1;
function addNewInput(e)
{
pocet++;
// LI element
newLi = document.createElement("li");
newLi.id = "li" + pocet;
// INPUT element
  newInput = document.createElement("<input type='file' name='obr[]'>");
// A element
newLink = document.createElement("a");
newLink.href = "javascript:removeInput(" + pocet + ");";
newLink.setAttribute('class', 'adminmenu' );
newLink.innerHTML = "Smazat tento obrázek";
// Complete new element
newLi.appendChild(newInput);
newLi.innerHTML += "&nbsp;";
newLi.appendChild(newLink);
// Add to page
document.getElementById(e).appendChild(newLi);
}
// Remove DIV element containig INPUT and A elements
function removeInput(id) {
pInput = document.getElementById('li' + id);
pInput.parentNode.removeChild(pInput);
}
function visibleAnswers(e) {
//Elements default
var defaultAnswers = 2;
for (i = 1; i <= defaultAnswers; i++) {
newLi = document.createElement("li");
newLi.id = "li" + i;
newInput =document.createElement("<input type='file' name='obr[]'>");

newLi.appendChild(newInput);
newUl.appendChild(newLi);
}
document.getElementById(e).appendChild(newUl);
}

tento kod neni můj našel jsem to někde na netu(samo bez nějakého popisu)...a nevím proč to Opera nejede...
Chamurappi
Profil
Reaguji na radase:
Použij na výrobu <input>u ten kód, který jsem uvedl. Samozřejmě celý, ne jen jeden řádek z něj.
radas
Profil *
Chamurappi
děkuji už to funguje tak jak ma...

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: