- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,439
- Çö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,092
- DevLira
- 234
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!
Mevcut bir dosyayı yeni bir dosyaya üç farklı şekilde kopyalayabilirsiniz:
- Bir satırdan diğerine döngü halinde bir satır okuyup yazmak
- Tüm içerikleri bir dizeye okuma ve dizeyi başka bir dosyaya yazma
- PHP'nin dahili fonksiyon kütüphanesi copy() fonksiyonunu içerir.
Yöntem 1
İlk yaklaşımda, var olan bir dosyadan her satırı okuyabilir ve var olan dosya dosya sonuna ulaşana kadar yeni bir dosyaya yazabilirsiniz.Aşağıdaki PHP betiğinde, önceden var olan bir dosya (hello.txt) bir döngü içinde satır satır okunur ve her satır başka bir dosyaya (new.txt) yazılır
"hello.txt" dosyasının aşağıdaki metni içerdiği varsayılmaktadır:
Hello World
TutorialsPoint
PHP Tutorials
Örnek
Mevcut bir dosyanın kopyasını oluşturmak için PHP kodu şu şekildedir:
PHP:
<?php
$file = fopen("hello.txt", "r");
$newfile = fopen("new.txt", "w");
while(! feof($file)) {
$str = fgets($file);
fputs($newfile, $str);
}
fclose($file);
fclose($newfile);
?>
Yeni oluşturulan "new.txt" dosyasının içeriğinin tamamen aynı olması gerekir.
Yöntem 2
Burada PHP kütüphanesinden iki yerleşik işlevi kullanıyoruz:Bu fonksiyon tüm dosyayı bir dizeye okur. $filename parametresi okunacak dosyanın adını içeren bir dizedir.file_get_contents(
string $filename,
bool $use_include_path = false,
?resource $context = null,
int $offset = 0,
?int $length = null
): string|false
Diğer fonksiyon ise:
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Fonksiyon $data'nın içeriğini $filename'e koyar. Yazılan bayt sayısını döndürür.
Örnek
Aşağıdaki örnekte "hello.txt" dosyasının içeriğini $data dizisinde okuyup, bunu "test.txt" dosyasına yazmak için parametre olarak kullanıyoruz.
PHP:
<?php
$source = "hello.txt";
$target = "test.txt";
$data = file_get_contents($source);
file_put_contents($target, $data);
?>
Yöntem 3
PHP, copy() fonksiyonunu yalnızca kopyalama işlemini gerçekleştirmek için sağlar.copy(string $from, string $to, ?resource $context = null): bool
$from parametresi mevcut dosyayı içeren bir dizedir. $to parametresi de oluşturulacak yeni dosyanın adını içeren bir dizedir. Hedef dosya zaten mevcutsa, üzerine yazılır.
Kopyalama işlemi, dosyanın başarıyla kopyalanıp kopyalanmamasına bağlı olarak true veya false döndürecektir.
Örnek
"text.txt" dosyasını "hello.txt" dosyasının bir kopyası yapmak için copy() fonksiyonunu kullanalım.
PHP:
<?php
$source = "a.php";
$target = "a1.php";
if (!copy($source, $target)) {
echo "failed to copy $source...\n";
}
?>

