Yenilikleri, isteklerinizin aşamalarını görebilirsiniz.
Excel dosyasını yükle, sonra yüklediğin dosyadan verileri oku ve listele. Daha sonra bir buton koy ve tıkladıktan sonra ekleme işlemini yapabilirsiniz.
Google çeviri aracımız var. Ne istediğinizi tam olarak iletebilir misiniz?
İyi senden nnaber kanks :)
31-12-2022
Php derslerinde, php hazır kodlarda, php hatalarda ve ya tüm konularda hızlıca arama yaparak aradığınıza hızlıca ulaşabilirsiniz.
Yayın Tarihi
Çoklu resim yükleyebilmemiz için input seçimlerini çoklu seçim ve gönderilen değeri dizi halinde post etmemiz gerekmektedir. Diğer türlü birden fazla resmi gönderme şansımız bulunmamaktadır.
Aşağıda basit bir html form sayfası hazırladık. form.php sayfası olarak kayıt ettik ve yukle.php adresine post ettik.
<
><html>
<head>
<title>Form Sayfası | Resim Yükleme</title>
</head>
<body>
<form action="yukle.php" method="post" enctype="multipart/form-data">
<input type="file" name="resim[]" multiple="multiple" />
<!-- burada multiple ifadesi bilgisayar üzerinden seçimin çoklu olacağını belirtir. -->
<!-- name="resim[]" nameden sonra gelen [] ibaresi post edildiği zaman seçilen değerlerin dizi halinde post edilmesini sağlar. -->
<button type="submit">YÜKLE</button>
</form>
</body>
</html>
Şimdide size yukle.php sayfasındaki çalışma mantığını gösterelim.
<?php
if (isset($_FILES['resim'])) {
//Eğer form tagına enctype="multipart/form-data" bunu eklemeseydik if e girmez direk elseye giderdi.
echo 'Resim gönderilmiştir. <br />';
var_dump($_FILES['resim']);
/* Resim seçilerek gönderildiğinde EKRAN ÇIKTISI:
array (size=5)
'name' =>
array (size=2)
0 => string 'black.png' (length=9)
1 => string 'white.png' (length=9)
'type' =>
array (size=2)
0 => string 'image/png' (length=9)
1 => string 'image/png' (length=9)
'tmp_name' =>
array (size=2)
0 => string 'C:\wamp64\tmp\php6994.tmp' (length=25)
1 => string 'C:\wamp64\tmp\php69A5.tmp' (length=25)
'error' =>
array (size=2)
0 => int 0
1 => int 0
'size' =>
array (size=2)
0 => int 89509
1 => int 89036
************************
Resim seçilmeden gönderildiğinde
## Gene ekran çıktısı verir ancak boş değerler döner. Çünkü resim zaten tanımlanmıştır ancak boş gelmiştir.
*/
} else
echo 'Resim gönderilmemiştir. Lütfen resim seçiniz.';
?>
<
><html>
<head>
<title>Form Sayfası | Resim Yükleme</title>
</head>
<body>
<form action="yukle.php" method="post" enctype="multipart/form-data">
<input type="file" name="resim[]" multiple="multiple" />
<!-- burada multiple ifadesi bilgisayar üzerinden seçimin çoklu olacağını belirtir. -->
<!-- name="resim[]" nameden sonra gelen [] ibaresi post edildiği zaman seçilen değerlerin dizi halinde post edilmesini sağlar. -->
<button type="submit">YÜKLE</button>
</form>
</body>
</html>
<?php
if (isset($_FILES['resim'])) {
$yuklenemeyenler = array(); //yüklenemeyen ve hatası dönen resimleri bu dizide tutacağız.
$klasor = "upload/"; //yükleyeceğimiz klasörü belirledik.
//Artık resimlerimiz dizi olarak geldiği için bir döngü ile tek tek kontrol ve kayıt etmemiz gerekiyor.
$resim_sayisi = count($_FILES['resim']['name']); //kaç tane resim geldiğini öğrendik.
for ($i = 0; $i < $resim_sayisi; $i++) {
//resim sayısı kadar döngüye soktuk.
$resimBoyutu = $_FILES['resim']['size'][$i]; //döngü içerisindeki resmin boyutunu öğrendik.
if ($resimBoyutu > (1024 * 1024 * 2)) {
//buradaki işlem aslında bayt, kilobayt ve mb formülüdür.
//2 rakamını mb olarak görün ve kaç yaparsanız o mb anlamına gelir.
//Örn: (1024* 1024* 3) => 3MB/ (1024* 1024* 4) => 4MB
$yuklenemeyenler[] = $_FILES['resim']['name'][$i] . " - BOYUT";
} else {
$tip = $_FILES['resim']['type'][$i]; //resim tipini öğrendik.
$resimAdi = $_FILES['resim']['name'][$i]; //resmin adını öğrendik.
if ($tip == 'image/jpeg' || $tip == 'image/jpg' || $tip == 'image/png') { //uzantısnın kontrolünü sağladık. sadece .jpg ve .png yükleyebilmesi için.
if (move_uploaded_file($_FILES["resim"]["tmp_name"][$i], $klasor . "/" . $_FILES['resim']['name'][$i])) {
//tmp_name ile resmi bulduk ve nereye, hangi isimle yukleneceğini belirleyip yükledik.
//yükleme işlemi başarılı olursa dilediğiniz bir olayı gerçekleştirebilirsiniz.
} else $yuklenemeyenler[] = $_FILES['resim']['name'][$i] . " BİLİNMİYOR";
} else {
$yuklenemeyenler[] = $_FILES['resim']['name'][$i] . " UZANTI";
}
}
}
if (count($yuklenemeyenler) > 0) {
echo "Aşağıdaki Resimler Yüklenemedi. <br />";
var_dump($yuklenemeyenler);
} else echo "TÜM RESİMLER BAŞARILI BİR ŞEKİLDE YÜKLENDİ.";
}
?>