Şu Kodları Anlatabilir misiniz?

Bu konuyu okuyanlar

mali2012

Asistan
Katılım
10 Eylül 2012
Mesajlar
157
Reaksiyon puanı
9
Puanları
18
Bu kodlar "çoklu resim yükleme" kodları. Kodlar çalışıyor, herhangi bir problem yok. Benim sormak istediğim: "Mesela ilk satırlarda "$error = array();" demiş. Şimdi benim buradan anladığım: "Error" değişkenini dizi haline getiriyor ama niye getiriyor. Mantığı nedir anlayamadım. Kodları yukarıdan aşağıya doğru anlatabilir misiniz?

PHP:
<?php
    $errors = array();
    $success = array();
    if(strtolower($_SERVER['REQUEST_METHOD']) == 'post') {

    $uploadDir = '../../../upload/cokluresim/';
    $allowTypes = array('jpg','png','jpeg','gif');

    if(!empty(array_filter($_FILES['files']['name']))){
        foreach($_FILES['files']['name'] as $key=>$val){
            $filename = basename($_FILES['files']['name'][$key]);
            $targetFile = $uploadDir.$filename;
    
    if(move_uploaded_file($_FILES["files"]["tmp_name"][$key], $targetFile)){
        $success[] = "Uploaded $filename";
        $insertQrySplit[] = "('$filename')";
    } else {
        $errors[] = "Something went wrong- File - $filename";
    }
        }

        //Inserting to database
        if(!empty($insertQrySplit)) {
            $query = implode(",",$insertQrySplit);
            $sql = "INSERT INTO resimlerekle (cokluresimekle_resim) VALUES $query";
            $stmt= $db->prepare($sql);
            $stmt->execute();
        }
    } else {
        $errors[] = "No File Selected";
    }

    }

    ?>
 

Samet UCA

Profesör
Katılım
3 Ağustos 2012
Mesajlar
3,278
Reaksiyon puanı
2,913
Puanları
113
Birden fazla hata açıklaması olduğundan hepsini diziye atmayı düşünmüş.
 

Web Kartalı

Asistan
Katılım
3 Ağustos 2017
Mesajlar
177
Reaksiyon puanı
115
Puanları
43
PHP:
<?php

    $errors = array();

    // birden fazla hata masajı açıklamasını dizi içinde tutmak için oluşturmuş.

    // aşağıda 2 adet hata mesajını bu diziye dahil etmiş. $errors diye aratırsan göreceksin.





    $success = array();

    // error dizisi gibi fakat bu kez olumlu sonuçları bu dizide toplamış.

    // aşağıdaki kodlar içinde bir tane sonucu bu diziye dahil etmiş.



    if(strtolower($_SERVER['REQUEST_METHOD']) == 'post') {

// strtolower() fonksiyonu ile değişkendeki tüm harflari küçük yapmış

// ve post değeri ile eşit mi değil mi diye kontrol etmiş



    $uploadDir = '../../../upload/cokluresim/';

    // resmin upload edileceği dizini değişkene atamış



    $allowTypes = array('jpg','png','jpeg','gif');

    // yüklenecek olan resim tiplerini yani uzantılarını diziye atark belirtmiş.



    if(!empty(array_filter($_FILES['files']['name']))){

    // gelen değer boş değilse diye empty ile kontrol etmiş.

    // eğer gelen değer boş deseydi empty başına ünlem bıramazdı





        foreach($_FILES['files']['name'] as $key=>$val){

            $filename = basename($_FILES['files']['name'][$key]);

            $targetFile = $uploadDir.$filename;

        // gelen her bir değeri döngü içine alarak gidecekleri dizini belirtiyor.

        // dizin yolu yukarıda değişkene atanmıştı zaten.

      



    if(move_uploaded_file($_FILES["files"]["tmp_name"][$key], $targetFile)){

       // resim taşıma işlemi yapıyor.



        $success[] = "Uploaded $filename";

        // dosya yüklendi adıda şudur diyor.. ve bu değeri dizi değişkenine atıyor.

    

        $insertQrySplit[] = "('$filename')";

    } else {

        $errors[] = "Something went wrong- File - $filename";

    }

        }



        //Inserting to database

        if(!empty($insertQrySplit)) {

            $query = implode(",",$insertQrySplit);

            $sql = "INSERT INTO resimlerekle (cokluresimekle_resim) VALUES $query";

            $stmt= $db->prepare($sql);

            $stmt->execute();

        // sql sorgusu ile de dizine taşınan resimlerin yollarını veritabanına kayıt ediyor

        }

    } else {

        $errors[] = "No File Selected";

        // dosya seçilmemiş ise error dizisine hata mesajını ekliyor.

    }



    }

?>
 

mali2012

Asistan
Katılım
10 Eylül 2012
Mesajlar
157
Reaksiyon puanı
9
Puanları
18
Teşekkür ederim. Sağolun.
 
Üst