- Home
- Przykłady i porady PHP79
- Inne pomoce, software6
- Banery
- Hyde Park Private Zone6
- Polityka cookies
- Udostępnianie tekstów
© 2001 - 2024 PhpCodex
Upload wielu plików jednocześnie
Multiple File Download
Przykład PHP + JavaScript2014-03-07 stopień trudności: łatwyNie lubisz wysyłać po jednym pliku, a html5 + jquery to dla Ciebie czarna magia ?
Poniżej proste rozwiązanie
Opcja "multiple" działa w przeglądarkach Internet Explorer od wersji 10, Firefox 3.6+, Chrome, Opera, oraz Safari.
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="file" multiple="multiple" name="file[]" />
<input type="submit" value="Pobierz" />
</form>
<?
//przykład z kopiowaniem do katalogu
for($i=0;$i<count($_FILES['file']['size']);$i++){
if(strstr($_FILES['file']['type'][$i], 'image')!==false){
$file = 'pliki/'.time().'_'.$_FILES['file']['name'][$i];
move_uploaded_file($_FILES['file']['tmp_name'][$i],$file);
echo"<a href=\"".$file."\"><img src=\"".$file."\" /></a><br/>";
}
}
?>
lub jeśli chcesz tylko przetestować opcję:
<?
//przykład dla testów
foreach ($_FILES['file']['name'] as $filename) {
echo $filename . "<br/>";
}
?>
Przykład wylistowania zaznaczonych plików
<input type="file" onchange="listing();" name="foto[]" id="foto" size="40" multiple="" required>
<ul id="lista"><li>Brak zaznaczonych plików</li></ul>
<!--lista plików do pobrania-->
<script type="text/javascript">
function listing() {
var input = document.getElementById("foto");
var ul = document.getElementById("lista");
while (ul.hasChildNodes()) {
ul.removeChild(ul.firstChild);
}
for (var i = 0; i < input.files.length; i++) {
var li = document.createElement("li");
li.innerHTML = input.files[i].name;
ul.appendChild(li);
}
if(!ul.hasChildNodes()) {
var li = document.createElement("li");
li.innerHTML = 'Nie wybrano żadnych plików';
ul.appendChild(li);
}
}
</script>
manual: strstr() move_uploaded_file()