kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
romegames 1
romegames
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP - Dosya Ekle

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,442
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 7 Gün
Başarım Puanı
1,051
MmoLira
695,207
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

file-upload-2.png

PHP'de fopen() fonksiyonu, yazma modu için "w", okuma modu için "r" ve aynı anda okuma/yazma işlemi için "r+" veya "r+" modu ve ekleme modu için "a" modu gibi farklı açma modlarında kullanılan bir dosyanın dosya işaretçisini döndürür.

Bir dosya "w" mod parametresiyle açıldığında, her zaman yeni bir dosya açılır. Bu, dosya zaten mevcutsa içeriğinin kaybolacağı anlamına gelir. Sonraki fwrite() fonksiyonu, verileri dosyanın başlangıç konumuna koyacaktır.

Aşağıdaki içeriklere sahip "new.txt" adlı bir dosyanın mevcut olduğunu varsayalım:

Hello World
TutorialsPoint
PHP Tutorial

Aşağıdaki ifade:

$fp = fopen("new.txt", "w");

Yeni içerik yazılmadan önce mevcut tüm verileri siler.

Okuma/Yazma Modu

Açıkça, dosya "r" moduyla açılırsa yeni veri eklemek mümkün değildir. Ancak, "r+" veya "w+" modu dosyayı "r/w" modunda açar, ancak yine de bir dosyayı açtıktan hemen sonra bir fwrite() ifadesi içeriğin üzerine yazacaktır.

Örnek

Aşağıdaki koda bir göz atın.

PHP:
<?php
   $fp = fopen("new.txt", "r+");
   fwrite($fp, "PHP-MySQL Tutorial\n");
   fclose($fp);
?>

Bu kodla, "new.txt" dosyasının içeriği artık şu hale gelecektir:

PHP-MySQL Tutorial
lsPoint
PHP Tutorial

Yeni içeriğin mevcut dosyanın sonuna eklendiğinden emin olmak için, yazma işleminden önce dosya işaretçisini elle sona koymamız gerekir. (Başlangıç dosya işaretçisi konumu 0. bayttadır)


fseek() Fonksiyonu

PHP'nin fseek() fonksiyonu dosya işaretçisini istediğiniz yere yerleştirmenizi mümkün kılar.

fseek(resource $stream, int $offset, int $whence = SEEK_SET): int

$whence parametresi, ofsetin sayıldığı yerdir. Değerleri:

  • SEEK_SET − Konumu ofset baytlarına eşitle.
  • SEEK_CUR − Konumu geçerli konuma artı ofsete ayarla.
  • SEEK_END − Konumu dosya sonu artı ofset olarak ayarla.

Örnek

Yani aşağıdaki kodda olduğu gibi fseek() fonksiyonu ile işaretçiyi sona taşımamız gerekiyor, bu da yeni içeriği sona ekliyor.

PHP:
<?php
   $fp = fopen("new.txt", "r+");
   fseek($fp, 0, SEEK_END);
   fwrite($fp, "\nPHP-MySQL Tutorial\n");
   fclose($fp);
?>

Şimdi "new.txt"nin içeriğini kontrol edin. Aşağıdaki metne sahip olacaktır:

Hello World
TutorialsPoint
PHP Tutorial
PHP-MySQL Tutorial

Ekleme Modu

İşaretçiyi elle sona taşımak yerine, fopen() fonksiyonundaki "a" parametresi dosyayı ekleme modunda açar. Her fwrite() ifadesi, işaretçiyi otomatik olarak SEEK_END pozisyonuna taşıyarak, içeriği mevcut içeriklerin sonuna ekler.

PHP:
<?php
   $fp = fopen("new.txt", "a");
   fwrite($fp, "\nPHP-MySQL Tutorial\n");
   fclose($fp);
?>

fopen() fonksiyonu için izin verilen modlardan biri, dosyanın okuma/ekleme işlemini gerçekleştirdiği "r+" modudur. Herhangi bir konumdan veri okumak için, işaretçiyi fseek() ile istediğiniz bayta yerleştirebilirsiniz. Ancak, her fwrite() işlemi yalnızca sona yeni içerik yazar.

Örnek

Aşağıdaki programda, dosya "a+" modunda açılır. İlk satırı okumak için, dosya konumunu başlangıçtan itibaren 0'a kaydırırız. Ancak, fwrite() ifadesi yine de sona yeni içerik ekler ve açılış modu "r+" modunda olsaydı olacağı gibi sonraki satırı üzerine yazmaz.

PHP:
<?php
   $fp = fopen("new.txt", "a+");
   fseek($fp, 0, SEEK_SET);
   $data = fread($fp, 12);
   echo $data;
   fwrite($fp, "PHP-File Handling");
   fclose ($fp);
?>

Bu nedenle, "r+/w+" modunda veya "a/a+" modunda açılmış bir dosyaya veri ekleyebiliriz.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst