teşekkürler, bu şekilde 3 dosya yüklemeye çalıştım isimlerini yazdırabiliriyorum üçünün ama sadece 1 tanesini upload ediyor. :s
Yanlış anlama ama kodları çorba şeklinde yazmışsın hata ayıklamada kod düzeni çok önemlidir.Neden bir fonksiyon yazmıyorsunki?
Mesela şöyle bişey olabilir.
<script type="text/javascript">
function alan_ekle(){
var s='</br><input type="file" name="file[]" id="file" />';
resim=document.getElementById('kapsar');
resim.innerHTML = resim.innerHTML + s;
}
</script>
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<div id="kapsar">
<input type="file" name="file[]" id="file" />
</div>
<br />
<input type="button" value="Alan Ekle" onclick="javascript:alan_ekle();">
<input type="submit" name="Yükle" id="Yükle" value="Submit" />
</form>
</br>
<?php
$maxboyut=1024*1024;
$gecerli=array('jpg','jpeg','gif','png');
$klasor='upload/';
function uzanti_bul($dosyaadi){
$dosyaadi = strtolower($dosyaadi);
return end(explode(".", $dosyaadi));
}
function dosya_boyut($boyut){
global $maxboyut;
return ($maxboyut < $boyut) ? True : False;
}
function uzanti_kontrol($isim){
global $gecerli;
$uzanti=uzanti_bul($isim);
return !in_array($uzanti,$gecerli) ? True : False;
}
function yukle($dosya,$yeni){
global $klasor;
return move_uploaded_file($dosya,$klasor.$yeni) ? True : False;
}
$say=count($_FILES['file']['name']);
for($i=0;$i<=$say;$i++){
if($_FILES['file']['name'][$i]!=""){
$isim=$_FILES['file']['name'][$i];
$boyut=$_FILES['file']['size'][$i];
$tmpisim=$_FILES['file']['tmp_name'][$i];
$uzanti=uzanti_bul($isim);
$yeni=substr(md5(time()),0,10).'.'.$uzanti;
dosya_boyut($boyut) ? die('Dosya Boyutu') : '';
uzanti_kontrol($isim) ? die('Uzantı Hatası') : '';
$dosyalar[]=yukle($tmpisim,$yeni) ? $yeni : die('Dosya Kopyalanamadı');
}
}
if($dosyalar){
echo '<h2>Yüklenen Dosyalar</h2>';
print_r($dosyalar);
}
?>