Mam formularz z dynamicznie generowanymi w javascripcie polami file o nazwach "file1", "file2", "file3" itd. Przed wysłaniem formularza srypt generuje jeszcze niewidzialny input o nazwie "file" przekazujący ilość wygenerowanych inputów.
Oto kod odpowiedzialny za zapis plików na serwerze:
<?php
for($i=0; $i<$_POST["file"]; $i++) {
if($_POST["file".($i+1)]!='') {
$limit_przekroczony = null;
if ($this->pliki+$_FILES["file".($i+1)]["size"]<$limit) {
$dozwolony = true;
$info = pathinfo($_FILES["file".($i+1)]["tmp_name"]); foreach($niedozwolone as $wartosc) if($info["extension"]==$wartosc){
$bledy[] = $info["extension"];
$dozwolony = false;
break;
}
if($dozwolony)
$this->katalog."/pliki/".$_FILES["file".($i+1)]["name"]);
}
else $bledy[] = "limit_dyskowy";
}
else $bledy[] = "blad_przeslania";
}
}
?>
kod obsługi błędów:
<?php
$komunikat = "";
if($bledy) foreach($bledy as $wartosc) {
if($wartosc=="limit_dyskowy") $komunikat .= "Nie masz wystarczającej ilości miejsca na dysku!n";
elseif($wartosc=="blad_przeslania") $komunikat .= "Błąd podczas przesłania pliku!n";
else $komunikat .= "Pliki o rozszeżeniu ".$wartosc." są niedozwolone z powodów bezpieczeństwa!n";
}
if($komunikat=="") $komunikat = "Twoje dane zostały zaktualizowane.";
return $komunikat;
?>
i za każdym razem wyskakuje "Błąd podczas przesłania pliku!", dlaczego?
Ten post edytował ciapek888 4.11.2006, 00:17:50