v2.5.2
Giriş yap

verot net ile multiple upload sonrası dosya adlarını tek bir array içinde alma

igoodubad2
818 defa görüntülendi

Verot.net ile multiple upload yapıyorum ancak dosya adlarını tek bir array içinde alamıyorum!

kodlarım şu şekilde;

<?php
require_once 'upload.php';
# Çoklu resim yükleme işlemi ##
$images = array();
foreach (@$_FILES['resim'] as $k => $l) {

  foreach ($l as $i => $v) {
	if (!array_key_exists($i, $images))
	  $images[$i] = array();
	$images[$i][$k] = $v;
  }
}

foreach ($images as $image){

	$handle = new Upload($image);
	if ($handle->uploaded) {

		/* Resmi Yeniden Adlandır */
	$dosya_adi =	$handle->file_new_name_body = date('h:i:s').'-'.$_FILES["resim"]["name"][$i];

		/* Resmi Yeniden Boyutlandır */
		$handle->image_resize = true;
		$handle->image_x = 400;
		$handle->image_ratio_y = true;

		/* Resim Yükleme İzni */
		$handle->allowed = array('image/*');

		/* Resmin yükleneceği adres */
		$handle->Process(realpath("./resimler/"));
		$handle-> Clean();

	} else {
		echo $handle->error;
	}
}


?>

Ve sonrasında resimlerin isimlerini almak istiyorum ancak;

<?php if ($handle->processed) {

      echo 'resimler başarıyla yüklendi. <br><pre>';
      for($a=0; $a<count($images); $a++){


        $array = array(($images[$a]['name']));
        echo "<pre>";
        print_r ($array);
        echo "</pre>";
      }
        echo '<br> =============================<br>';
}

        else{
////
} ?>

Çıktı Şu şekilde geliyor;

Array
(

[0] => 1950-pontiac.jpg

)
Array
(

[0] => guzel-araba.jpg

)
Array
(

[0] => lada-vaz-2107.png

)
Array
(

[0] => model-car.jpg

)

Yapmak istediğim şey bu dosya adlarını ya tek bir array içine almak(Çünkü her biri farklı olan ama indis değerleri aynı olan arraylar olarak geliyor.)
Yada bu dosya adlarını bir şekilde implode etmek. Yardımcı olabilirseniz memnun olurum teşekkürler.

Daha fazla markdown örneğine buraya tıklayarak ulaşabilirsin!

Cevap yaz
Cevaplar (7)
myazar
1410 gün önce

anahtar kelimen array_map olmalıdır.
Aşağıdaki kod bloğu işini görecektir.

<?php 
if ($handle->processed) {
    $resimAdlariDizisi=array_map(fn($value)=>$value['name'],$images);
    print_r($resimAdlariDizisi);
}else {
    
    //hatavs
}
igoodubad2
1410 gün önce

myazar ocam çok teşekkür ederim. tam istediğim buydu varolun.

igoodubad2
1410 gün önce

mtvartemis ocam dediğini yanlış anlamış olduğumu düşündüm ki yanlış anlamışım şimdi dediğiniz şekilde çıktı şu şekilde sonda istediğim gibi ancak bunu nasıl alabilirim?
Array
(

[isimler] => Array
    (
        [0] => Array
            (
                [0] => 1950-pontiac.jpg
            )

    )

)
Array
(

[isimler] => Array
    (
        [0] => Array
            (
                [0] => 1950-pontiac.jpg
            )

        [1] => Array
            (
                [0] => guzel-araba.jpg
            )

    )

)
Array
(

[isimler] => Array
    (
        [0] => Array
            (
                [0] => 1950-pontiac.jpg
            )

        [1] => Array
            (
                [0] => guzel-araba.jpg
            )

        [2] => Array
            (
                [0] => lada-vaz-2107.png
            )

    )

)
Array
(

[isimler] => Array
    (
        [0] => Array
            (
                [0] => 1950-pontiac.jpg
            )

        [1] => Array
            (
                [0] => guzel-araba.jpg
            )

        [2] => Array
            (
                [0] => lada-vaz-2107.png
            )

        [3] => Array
            (
                [0] => model-car.jpg
            )

    )

)

igoodubad2
1410 gün önce

Yok Senin söylediğin şekilde aldığım zaman dosya adları birleşik olarak geliyor. bu alde iken de dosya adları farklı uzunlukta yada uzantılarda olduğundan explode edemiyorum yani ayrlmıyor.
çıktı şu şekilde;
[1950-pontiac.jpgguzel-araba.jpglada-vaz-2107.pngmodel-car.jpg]

bunu nasıl ayırabilirim ki?
verdiğin örnek ilk denemelerimden biriydi.

mtvartemis
1410 gün önce

for(){
$ekle = $array["isimler"]=$images[$a]['name'];
}

hocam bu şekilde dene bide

mtvartemis
1410 gün önce

sen sabit bir array oluştur her for döndüğünde o arraye ekle veriyi

mtvartemis
1410 gün önce

oocam hatan galiba en sonki attığın kodda sen her for döngüsünde yeni bir array oluşturyorsun onun yerine foru array iöerisinde kullan yani şöykle