lostyazilim
tr.link

Foreachtan dönen değeri döngünün dışında kullanma

7 Mesajlar 2.020 Okunma
lstbozum
tr.link

enex enex WM Aracı Kullanıcı
  • Üyelik 16.08.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek PHP Developer Novice Jquery
  • Konum Amasya
  • Ad Soyad E** E**
  • Mesajlar 160
  • Beğeniler 0 / 13
  • Ticaret 0, (%0)
sa bn şimdi foreach döngüsü yaptım döngünün içinde $a = bişeyler gibi değişkenim var bu değişkeni döngü dışında kullanmam gerekiyo insert into ya eklerken kullanmam gerekli yardım

foreach döngüm böyle $ad değişkenini kullanamk istiyorum:
$i = 0;
if(!empty($_FILES["resim"]["error"])) {
foreach ($_FILES["resim"]["error"] as $key => $error) {
//$error 0 ise hata yoktur, yüklemeye başlayalım.
if ($error == UPLOAD_ERR_OK) {
$dosya_ad = $_FILES["resim"]["name"][$key];
$dosya = $_FILES["resim"]["tmp_name"][$key];
$i = 1;
$ad = "app_images/". $dosya_ad;
//uye adlı klasöre(dizine) yükleyelim
move_uploaded_file($dosya, "./app_images/" . $dosya_ad);



//Durumu bildirelim
echo $i ? "Yüklendi" : "Hata oldu";
}
}
}
 

 

wmaraci
reklam

fezbuks fezbuks WM Aracı Kullanıcı
  • Üyelik 30.03.2014
  • Yaş/Cinsiyet 43 / E
  • Meslek Web Developer
  • Konum Kocaeli
  • Ad Soyad H** B**
  • Mesajlar 24
  • Beğeniler 0 / 4
  • Ticaret 3, (%67)
Sanırım dosyaları yükledikten sonra dosyaların isimlerini veritabanına eklemek istiyorsun. Döngü içerisinde bir dizi oluşturarak dosya adlarını diziye ekleyebilirsin. Daha sonra dizinin içerisindeki verilere tekrar erişip işlem sağlayabilirsiniz.
fullstackdev

kişi bu mesajı beğendi.

ruzigar ruzigar Php İçerik Botları Kullanıcı
  • Üyelik 04.05.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek kodcu
  • Konum Manisa
  • Ad Soyad S** Y**
  • Mesajlar 96
  • Beğeniler 6 / 34
  • Ticaret 12, (%100)
$ad = "app_images/". $dosya_ad; yerine
$ad[] = "app_images/". $dosya_ad; şeklinde kullanırsan $ad değişkenini diziye çevirmiş olursun.

Döngünün dışında print_r($ad); şeklinde yazdırıp kontrol edebilirsin.
 

 

skype: ruzigarmedia

mustafayasin mustafayasin PHP & IOS Developer Kullanıcı
  • Üyelik 21.11.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad M** T**
  • Mesajlar 914
  • Beğeniler 91 / 173
  • Ticaret 11, (%100)
Merhabalar,
Programlama mantığında değişkenlerin iki tipi vardır. Bunlar global variable(global değişken) ve local variable (yerel değişken).
Global Variable
Herhangi bir scope'un içerisinde tanımlanmamış, en üstte tanımlanmış değişkenlerdir. Scope dediğimiz şey süslü parantezdir. For, while döngüleri; if, else kondisyonları; fonksiyonlar ve metodlar... herbiri bir scope'a sahiptir. Yani süslü parantez içerisine yazılır ilgili kodlar. Bu süslü parantezin içerisinde yapılan tanımlamaları, süslü parantezin dışına çıktığınızda kullanamazsınız. Süslü parantezin dışında tanımlanmışsa değişken globaldir.

PHP dili için şöyle bir örnek vereyim pekişmesi için:

$a = "bu global a'dır";
$b = "bu global b'dir";

echo $a\n;
echo $b\n;

for($i=0;$i<2;$i++){
$a = "bu local a'dır";
echo $a\n;
echo $b\n;
}

echo $a\n;
echo $b\n;



Yukarıdaki kod örneğinin çıktısı aşağıdaki gibi olur:

bu global a'dır
bu global b'dir
bu local a'dır
bu global b'dir
bu local a'dır
bu global b'dir

bu global a'dır
bu global b'dir

Kalın kısım, döngünün içindeyken yazdırıldı.
 

 

wmaraci
wmaraci

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Hocam php için yazamam ama mantığı şudur

$degisken = null;
foreach döngüsü
{
if (uygun koşul)
{
$degisken = uygun değer;
}
}

if ($degisken != null)
{
İstediğin işlemi burada yaptırabilirsin.
}
 

 

www.ontedi.com
www.cizgi.site

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)
$i = 0;
$ad=array(); // SONRADAN EKLENDİ
$sql="";
if(!empty($_FILES["resim"]["error"])) {
foreach ($_FILES["resim"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$dosya_ad = $_FILES["resim"]["name"][$key];
$dosya = $_FILES["resim"]["tmp_name"][$key];
$i = 1;

$ad[] = "app_images/". $dosya_ad; // SONRADAN EKLENDİ
move_uploaded_file($dosya, "./app_images/" . $dosya_ad);
echo $i ? "Yüklendi" : "Hata oldu";
}
}

// SONRADAN EKLENDİ
foreach($ad as $dosyakonumu){
echo "Dosyanın konumu: ".$dosyakonumu
$sql.="INSERT INTO table_name (sutunadi)
VALUES (".dosyakonumu.")";
}

// SONRADAN EKLENDİ

}


 

 

localhost localhost Atatürk! Kullanıcı
  • Üyelik 13.03.2016
  • Yaş/Cinsiyet 37 / E
  • Meslek Yazılımcı
  • Konum İstanbul Avrupa
  • Ad Soyad E** K**
  • Mesajlar 335
  • Beğeniler 145 / 144
  • Ticaret 2, (%100)
brkrtp

Sizin bahsettiğiniz olay tamamen farklı bir durumdur.
Arkadaş değişkene döngü dışından erişemiyor. Zaten mustafayasin ve ontedi açıklamış global değişken tanımlayarak sorunu halleder.

http://php.net/manual/tr/language.variables.scope.php
 

 

https://roe.com.tr
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al