lostyazilim
tr.link

Php Dosyaya veri yazma sorunu

17 Mesajlar 2.395 Okunma
lstbozum
tr.link

yazilimyolcusu yazilimyolcusu WM Aracı Kullanıcı
  • Üyelik 01.11.2021
  • Yaş/Cinsiyet 40 / E
  • Meslek Çalışmıyorum
  • Konum Konya
  • Ad Soyad M** Y**
  • Mesajlar 85
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Arkadaşlar merhaba. Bir soru soracaktım. Php'de veri yazmaya çalışıyorum. Sonuç şu şekilde çıkıyor. "array", "array", "array" şeklinde.
Şu şekilde olması lazım: "ad", "firmaadı", "eposta" vs. Kodları aşağıda paylaşıyorum.

if ($_POST) {

$dizi = [
$dizi[] = $_POST['aliciadisoyadi'],
$dizi[] = $_POST['alicifirma'],
$dizi[] = $_POST['sehir'],
$dizi[] = $_POST['aliciilce'],
$dizi[] = $_POST['alicieposta'],
$dizi[] = $_POST['siparisnotlari'],
$dizi[] = $_POST['urununstokkodu'],
$dizi[] = $_POST['urununstoksayisi']
];

$dosya = fopen("ornektext.txt", "a");
/* $dizi = $dizi; */
$diziler = $dizi[0] . "-" . $dizi[1] . "-" . $dizi[2] . "-" . $dizi[3] . "-" . $dizi[4] . "-" . $dizi[5] . "-" . $dizi[6] . "-" . $dizi[7];
fwrite($dosya, print_r($diziler, TRUE));
fclose($dosya);
}

?>
 

 

wmaraci
reklam

emreyvz emreyvz .NET Core & Angular & PHP Kullanıcı
  • Üyelik 19.04.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** Y**
  • Mesajlar 691
  • Beğeniler 110 / 250
  • Ticaret 24, (%100)
Ekrana $dizi'yi aşağıdaki gibi yazdırıp çıktıları ayrı ayrı iletir misiniz?


var_dump($dizi);
var_dump($dizi[0]);
 

 

yazilimyolcusu yazilimyolcusu WM Aracı Kullanıcı
  • Üyelik 01.11.2021
  • Yaş/Cinsiyet 40 / E
  • Meslek Çalışmıyorum
  • Konum Konya
  • Ad Soyad M** Y**
  • Mesajlar 85
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
"var_dump" sonucu
array(8) { [0]=> array(1) { [0]=> string(2) "ad" } [1]=> array(1) { [0]=> string(5) "firma" } [2]=> array(1) { [0]=> string(1) "1" } [3]=> array(1) { [0]=> string(5) "ilçe" } [4]=> array(1) { [0]=> string(5) "posta" } [5]=> array(1) { [0]=> string(10) "siparişş" } [6]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "8" } [7]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "8" } }

"var_dump[0]" sonucu
array(1) { [0]=> string(2) "ad" }
 

 

emreyvz emreyvz .NET Core & Angular & PHP Kullanıcı
  • Üyelik 19.04.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** Y**
  • Mesajlar 691
  • Beğeniler 110 / 250
  • Ticaret 24, (%100)

yazilimyolcusu adlı üyeden alıntı

"var_dump" sonucu
array(8) { [0]=> array(1) { [0]=> string(2) "ad" } [1]=> array(1) { [0]=> string(5) "firma" } [2]=> array(1) { [0]=> string(1) "1" } [3]=> array(1) { [0]=> string(5) "ilçe" } [4]=> array(1) { [0]=> string(5) "posta" } [5]=> array(1) { [0]=> string(10) "siparişş" } [6]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "8" } [7]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "8" } }

"var_dump[0]" sonucu
array(1) { [0]=> string(2) "ad" }


Dizi içerisinde 1 boyutlu farklı bir dizi daha var. Verileri şu şekilde çağırabilirsiniz o halde:


$diziler = $dizi[0][0] . "-" . $dizi[1][0] . "-" . $dizi[2][0] . "-" . $dizi[3][0] . "-" . $dizi[4][0] . "-" . $dizi[5][0] . "-" . $dizi[6][0] . "-" . $dizi[7][0];


Kolay gelsin.
 

 

wmaraci
wmaraci

yazilimyolcusu yazilimyolcusu WM Aracı Kullanıcı
  • Üyelik 01.11.2021
  • Yaş/Cinsiyet 40 / E
  • Meslek Çalışmıyorum
  • Konum Konya
  • Ad Soyad M** Y**
  • Mesajlar 85
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Peki bunu döngüyle kullansam, iki ürünü birden kaydetmek istesem, yani döngüyle nasıl kullanabilirim acaba?
 

 

emreyvz emreyvz .NET Core & Angular & PHP Kullanıcı
  • Üyelik 19.04.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** Y**
  • Mesajlar 691
  • Beğeniler 110 / 250
  • Ticaret 24, (%100)

yazilimyolcusu adlı üyeden alıntı

Peki bunu döngüyle kullansam, iki ürünü birden kaydetmek istesem, yani döngüyle nasıl kullanabilirim acaba?


Demek istediğinizi tam olarak anlayamadım ama döngü içerisinde de $dizi[$i][0] şeklinde kullanabilirsiniz.
 

 

yazilimyolcusu yazilimyolcusu WM Aracı Kullanıcı
  • Üyelik 01.11.2021
  • Yaş/Cinsiyet 40 / E
  • Meslek Çalışmıyorum
  • Konum Konya
  • Ad Soyad M** Y**
  • Mesajlar 85
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Yani söylemek istediğim, kodları şu şekilde for döngüsüne aldığımda "------------" böyle bir sonuç veriyor.
if ($_POST) {

$dizi = [
$dizi[] = $_POST['aliciadisoyadi'],
$dizi[] = $_POST['alicifirma'],
$dizi[] = $_POST['sehir'],
$dizi[] = $_POST['aliciilce'],
$dizi[] = $_POST['alicieposta'],
$dizi[] = $_POST['siparisnotlari'],
$dizi[] = $_POST['urununstokkodu'],
$dizi[] = $_POST['urununstoksayisi']
];

$dosya = fopen("ornektext.txt", "a");

for($i=0; $i < count($dizi); $i++) {
$diz = $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0];
fwrite($dosya, print_r($diz, TRUE));
}
fclose($dosya);
}
 

 

emreyvz emreyvz .NET Core & Angular & PHP Kullanıcı
  • Üyelik 19.04.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** Y**
  • Mesajlar 691
  • Beğeniler 110 / 250
  • Ticaret 24, (%100)

yazilimyolcusu adlı üyeden alıntı

Yani söylemek istediğim, kodları şu şekilde for döngüsüne aldığımda "------------" böyle bir sonuç veriyor.
if ($_POST) {

$dizi = [
$dizi[] = $_POST['aliciadisoyadi'],
$dizi[] = $_POST['alicifirma'],
$dizi[] = $_POST['sehir'],
$dizi[] = $_POST['aliciilce'],
$dizi[] = $_POST['alicieposta'],
$dizi[] = $_POST['siparisnotlari'],
$dizi[] = $_POST['urununstokkodu'],
$dizi[] = $_POST['urununstoksayisi']
];

$dosya = fopen("ornektext.txt", "a");

for($i=0; $i < count($dizi); $i++) {
$diz = $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0] . "-" . $i[$i][0];
fwrite($dosya, print_r($diz, TRUE));
}
fclose($dosya);
}


$i[$i][0] değil de $dizi[$i][0]olarak dener misiniz?
 

 

yazilimyolcusu yazilimyolcusu WM Aracı Kullanıcı
  • Üyelik 01.11.2021
  • Yaş/Cinsiyet 40 / E
  • Meslek Çalışmıyorum
  • Konum Konya
  • Ad Soyad M** Y**
  • Mesajlar 85
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Kodları şu şekilde düzenledim. Sonucu şu şekil verdi.

$dosya = fopen("ornektext.txt", "a");

for($i=0; $i < count($dizi); $i++) {
$diz = $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0];
fwrite($dosya, print_r($diz, TRUE));
}
fclose($dosya);


ad-ad-ad-ad-ad-ad-ad-adfirma-firma-firma-firma-firma-firma-firma-firma1-1-1-1-1-1-1-1ilçe-ilçe-ilçe-ilçe-ilçe-ilçe-ilçe-ilçeeposta-eposta-eposta-eposta-eposta-eposta-eposta-epostaaaa-aaa-aaa-aaa-aaa-aaa-aaa-aaa7-7-7-7-7-7-7-77-7-7-7-7-7-7-7
 

 

emreyvz emreyvz .NET Core & Angular & PHP Kullanıcı
  • Üyelik 19.04.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** Y**
  • Mesajlar 691
  • Beğeniler 110 / 250
  • Ticaret 24, (%100)

yazilimyolcusu adlı üyeden alıntı

Kodları şu şekilde düzenledim. Sonucu şu şekil verdi.

$dosya = fopen("ornektext.txt", "a");

for($i=0; $i < count($dizi); $i++) {
$diz = $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0] . "-" . $dizi[$i][0];
fwrite($dosya, print_r($diz, TRUE));
}
fclose($dosya);


ad-ad-ad-ad-ad-ad-ad-adfirma-firma-firma-firma-firma-firma-firma-firma1-1-1-1-1-1-1-1ilçe-ilçe-ilçe-ilçe-ilçe-ilçe-ilçe-ilçeeposta-eposta-eposta-eposta-eposta-eposta-eposta-epostaaaa-aaa-aaa-aaa-aaa-aaa-aaa-aaa7-7-7-7-7-7-7-77-7-7-7-7-7-7-7


For döngüsü ile yapacaksanız şu şekilde olması gerekir.


$dosya = fopen("ornektext.txt", "a");
$diz = "";
for($i=0; $i < count($dizi); $i++) {
$diz = $diz . $dizi[$i][0] . " - ";
fwrite($dosya, print_r($diz, TRUE));
}
fclose($dosya);


For döngüsüz şu şekilde yapabilirsiniz


$dosya = fopen("ornektext.txt", "a");

$diz = $dizi[0][0] . "-" . $dizi[1][0] . "-" . $dizi[2][0] . "-" . $dizi[3][0] . "-" . $dizi[4][0] . "-" . $dizi[5][0] . "-" . $dizi[6][0] . "-" . $dizi[7][0];
fwrite($dosya, print_r($diz, TRUE));
fclose($dosya);


Kolay gelsin.
 

 

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