PHP'de sunucudaki dosyaların yönetimi ile ilgili uygulamalara devam edelim. Önceki uygulamalarda dosyalar için şu işlemleri yapmıştık:
bkz: PHP'de runtime esnasında dosya kopyalamak
bkz: PHP'de runtime esnasında klasör yaratmak
bkz: PHP'de dizinde bulunan belli bir uzantıya sahip dosyaları aramak
bkz: PHP ile klasördeki tüm dosyaları görüntülemek (scandir)
PHP'de sunucuda bulunan bir dosyayı yeniden adlandırmak için rename fonksiyonunu kullanabiliriz. Alternatif olarak dosyayı kopyalayarak çoğaltmak ve orijinal dosyayı silmek de dolaylı bir çözüm olur.
Örnek: uploads klasöründe yer alan resim.jpg dosyasının adını foto.jpg olarak runtime esnasında değiştirin.
Çözüm:
<?php
rename("uploads/resim.jpg", "uploads/foto.jpg");
?>
Not 1: Yeniden adlandırma işlemini yapabilmek için sunucu tarafında gerekli sunucu izinlerine sahip olunmalıdır.
Not 2: Sunucuda ya da belirtilen dizinde yer almayan bir dosya için yeniden adlandırma işlemi yapıldığında aşağıdaki gibi bir hata alınacaktır. Bu sebeple yeniden adlanırma işlemi öncesinde ilk parametrede yer alan dosya yolunda bu dosyanın olup olmadığı kontrol edilmelidir (bkz: PHP'de bir dosya var mı kontrol etmek).
Warning: rename(uploads/resim.jpg,uploads/foto.jpg): The system cannot find the file specified. (code: 2) in C:\....php on line 2