• 19-03-2016, 00:57:06
    #1
    Merhaba

    Resim upload için bir sınıfım var. Ona formdan gelen $_FILES["image1"] değerini verdiğimde resmi yüklüyor. Return ile resmin yolunu bana veriyor. Foreach ile bir diziden bu değeri çıkarıp fonksiyona değişken olarak verdiğimde işlem başarısızken, değişkenin yerine elle $_FILES["image1"] yazdığımda direk değeri resmi yüklüyor. echo ile $image2 değişkenini yazdırdığımda görüyorumki iki değerde aynı. Çok ilginç geldi yardım bekliyorum.

    $images = array(
    '$_FILES["image1"]'=>$_FILES["image1"]["name"],
    '$_FILES["image2"]'=>$_FILES["image2"]["name"],
    '$_FILES["image3"]'=>$_FILES["image3"]["name"],
    '$_FILES["image4"]'=>$_FILES["image4"]["name"],
    '$_FILES["image5"]'=>$_FILES["image5"]["name"],
    '$_FILES["image6"]'=>$_FILES["image6"]["name"],
    '$_FILES["image7"]'=>$_FILES["image7"]["name"]
    );

    foreach ($images as $indis=>$image) {

    if(!empty($image)) {

    $images2 [] = $indis;

    }

    }

    //print_r($images2);


    $upload_path = "images/upload";
    foreach ($images2 as $image2) {


    $imagesResult[] = substr_replace(ImageUpload($image2,$_POST["title"],$upload_path),'',0,3);

    }

    //print_r($imagesResult);

    ECHO İLE $image2 DEĞİŞKENİNİN ÇIKTISI :

    image2 değişkeninin foreach içindeki değeri : $_FILES["image1"]

    Bu değeri aynen kopyalayıp $image2 değişkeninin yerine yapıştırdığımda işlem gerçekleşiyor.
  • 19-03-2016, 05:46:28
    #2
    döngü içerisinde fonksiyonu çağırmak yerine, fonksiyon içerisinde dizi halinde yükleme yaptırmak daha doğru olacaktır. yada çoklu dosya gönderme araştırabilirsin.

    http://stackoverflow.com/questions/2...-upload-in-php

    ImageUpload($images, $_POST["title"], $upload_path)
  • 19-03-2016, 12:56:27
    #3
    recepuncu adlı üyeden alıntı: mesajı görüntüle
    döngü içerisinde fonksiyonu çağırmak yerine, fonksiyon içerisinde dizi halinde yükleme yaptırmak daha doğru olacaktır. yada çoklu dosya gönderme araştırabilirsin.

    http://stackoverflow.com/questions/2...-upload-in-php

    ImageUpload($images, $_POST["title"], $upload_path)
    Değişik yollarla yapabilirim, zaten burda da nasıl yapacağımı sormadım dikkat ettiysen. Burda mantıksal bir hata var. echo ile yazdığı değeri fonksiyona vermiyor. Sorduğum şey bu.
  • 19-03-2016, 13:01:20
    #4
    iyide $image2 string değilki zaten echo ile göremezsin, şu şekilde dene: döngü içerisinde; var_dump($image2)
  • 19-03-2016, 13:08:19
    #5
    recepuncu adlı üyeden alıntı: mesajı görüntüle
    iyide $image2 string değilki zaten echo ile göremezsin, şu şekilde dene: döngü içerisinde; var_dump($image2)
    Gözlerim doğru görüyor. String. Zaten indisi alıp dizi olarak yeniden oluşturdum.

    var_dump(image2) : string(17) $_FILES["image1"]
  • 19-03-2016, 13:10:46
    #6
    farukbugur adlı üyeden alıntı: mesajı görüntüle
    Değişik yollarla yapabilirim, zaten burda da nasıl yapacağımı sormadım dikkat ettiysen. Burda mantıksal bir hata var. echo ile yazdığı değeri fonksiyona vermiyor. Sorduğum şey bu.
    farukbugur adlı üyeden alıntı: mesajı görüntüle
    Gözlerim doğru görüyor. String. Zaten indisi alıp dizi olarak yeniden oluşturdum.

    var_dump(image2) : string(17) $_FILES["image1"]
    echo ile görüntülenmeyen variable, var_dump ile görüntülenmiş oldu galiba dimi
  • 19-03-2016, 13:15:32
    #7
    recepuncu adlı üyeden alıntı: mesajı görüntüle
    echo ile görüntülenmeyen variable, var_dump ile görüntülenmiş oldu galiba dimi
    Ne alaka. İlk konuyu açtığım mesajda echo çıktısı yazmışım zaten. Elimle yazdığım değerin ne olduğunu biliyorum. Kavramların ingilizcelerini kullanmak yerine php diziler konusunu yeniden gözden geçirmeni sana tavsiye ederim.
  • 19-03-2016, 13:52:20
    #8
    Dostum sorunun ne olduğu hiç belli değil, düzgün anlatamamışsın derdini.

    Ama dizi oluştururken key olarak belirlediğin .......'$_FILES["image1"]'=>...... değer bir string değerdir. O değeri ekrana bastığında gördüğün $_FILES["image1"] de string değerdir. Ama bunu kopylayayıp fonksiyona yapıştırdığın $_FILES["image1"] değeri bir dizinin parçası, başka bir dizinin de anahtarıdır.

    Yani '$_FILES["image1"]' ile $_FILES["image1"] aynı şey değildir.
  • 19-03-2016, 14:26:57
    #9
    codeksper adlı üyeden alıntı: mesajı görüntüle
    Dostum sorunun ne olduğu hiç belli değil, düzgün anlatamamışsın derdini.

    Ama dizi oluştururken key olarak belirlediğin .......'$_FILES["image1"]'=>...... değer bir string değerdir. O değeri ekrana bastığında gördüğün $_FILES["image1"] de string değerdir. Ama bunu kopylayayıp fonksiyona yapıştırdığın $_FILES["image1"] değeri bir dizinin parçası, başka bir dizinin de anahtarıdır.

    Yani '$_FILES["image1"]' ile $_FILES["image1"] aynı şey değildir.
    Derdimi gayet güzel anlattım sende önemli bir kısmını zaten anlamışsın. Anlamadığın şey ise foreach zaten diziden çıkarıp değere dönüştürüp öyle fonksiyona veriyor. Yani anahtarken veya dizinin bir değeri iken değil değişken iken fonksiyona veriyor.