verot net ile multiple upload sonrası dosya adlarını tek bir array içinde alma
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!
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (7)
myazar ocam çok teşekkür ederim. tam istediğim buydu varolun.
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
)
)
)
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.
for(){
$ekle = $array["isimler"]=$images[$a]['name'];
}
hocam bu şekilde dene bide
sen sabit bir array oluştur her for döndüğünde o arraye ekle veriyi
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