İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. SDN Forum
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

Php Dosyaya Yazma Hakkında Yardım

Champion7816.07.201011 cevap2.991 görüntüleme
#1
Merhaba arkadaşlar,
yarım saattir uğraşıyorum, php ile dosyaya alt alta metin yazdıramıyorum deli oldum :cursing:

fputs($dosya,"metin\n");

yazıyorum, dosyada da \n çıkıyor. nereye baktıysam böyle yapıldığını söylemiş. var mı bir bilgisi olan???
Cevaplar
#2
<?php
$dosya_adi = "/inetpub/wwwroot/bir_dosya.txt";
$dosya = fopen ($dosya_adi , 'w') or die ("Dosya açılamadı!");
$metin = "Bu satır dosyaya yazılacak: Merhaba Dünya!\n";
fwrite ( $dosya , $metin ) ;
fputs ( $dosya , "Bu satır ise sonradan eklenecek\n" ) ;
fclose ($dosya);
?>
Sizin de yaptığınız şekilde bir sorun çıkmaması lazım. :S
#3
\n yerine \r\n yaparsan sanırım sorunun düzelecek :)
Champion78 Konuyu açan
#4
cgrszone dedi: ↑
\n yerine \r\n yaparsan sanırım sorunun düzelecek :)
\n\r yapmıştım olmamıştı, şimdi bir umut \r\n denedim yine olmadı :D

dosyayı fopen("../dosya.php","w") komutuyla açtım, buradaki ../ ile bir problem olmaz herhalde. bir diğer şüphelendiğim konu ise gözü çıkasıca UTF-8 :D dosya tipim de header ım da UTF-8. acaba bundan olabilir mi diye düşünüyorum. fputs ve fwrite denedim bi farklılık yok, keşke bir de fwriteline olsaymış :D

başka fikri olan???
#5
sana örnek bir kod vereyim istersen :) Bunda sorunsuz çalışıyor sen de kendine göre uyarla :)
<?php
$fileContainer = 'myfile.log';
$filePointer = fopen($fileContainer,"w+");
$logMsg = "You are located at\r\nlocalhost";
fwrite($filePointer,$logMsg);
fclose($filePointer);
?>
#6
Dostum Local'demi Çalışıyorsun ?
Eğer Localde değil de hostta çalışıyorsan CHMOD ayarları 777 olmalıdır :)
Champion78 Konuyu açan
#7
localde çalıştırıyorum. denediğim yöntem şu idi:

$yazilacak="deneme\r\ndeneme2\r\ndeneme3";
fputs($dosya,$yazilacak);


bir türlü çalışmadı, sebebini hala bilmiyorum. Sorunu şu şekilde çözdüm:

$yazilacak="deneme
deneme2
deneme3";
fputs($dosya,$yazilacak);


bu şekilde yapınca oldu :D

problem çözüldü...
#8
PHP sunucusundan fark ediyo demek ki. Bende de benim önerdiğim gibi düzgün yapıyo diğerlerini kabul etmiyo :D
Champion78 Konuyu açan
#9
ben wamp kullanıyorum windows üzerinde tabiki. normalde herkes \r\n demiş ama bende olmadı nedense :D
#10
Champion78 dedi: ↑
ben wamp kullanıyorum windows üzerinde tabiki. normalde herkes \r\n demiş ama bende olmadı nedense :D
ben de xampp kullanıyorum :D bende de öbürü oluyo :D ama önemli olan dosyaları yükleyeceğin sunucu :)
Champion78 Konuyu açan
#11
dosyaları yükleyeceğim bir sunucu olmayacak :D

bitirme projem için kafamda bir proje vardı, ona ufaktan başladım. yani bittiğinde sadece local de çalışacak :D beğenip satın alan olursa, ilgileniriz :)
#12
Sanırım kaydederken text formatını farklı almışsın. Dosya formatı standart olmayabilir, karakter kodlamasını değiştirmiş olabilirsin. Ya da Win üzerinde *nix, veya tam tersi *nix üzerinde Win formatında kayıt yapıyor olabilirsin.

Gerekirse string ekleme yöntemi kullanılabilir. Şöyle ki:
$eklenecek = 'Eklenecek metinler' . "\r\n";


Bu arada \r\n Windows için, \n ise *nix formatı için için kullanılır.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.

Reklam