PHP ile localhostta RAR işlemleri

09 Kasım 2013 0 Yazar: Onur

php-rar-eklentisi

Bugün projelerimden birisinde RAR ve ZIP dosyalarını internetten tek tek indirip PHP yardımı ile belirli bir dizine çıkardıktan sonra içine birkaç dosya ekleyip toplu halde tekrar arşivle yapmam gerekiyordu. Projeye başlarken benim tahminim gerçek kullanıcılar dışında bot yazılımlarının dosyalara erişememesi için güvenlik önlemi alınmış olacağından, en fazla dosya indirirken sıkıntı çekeceğim yönündeydi.

Fakat evdeki hesap çarşıya uymaz ya yine öyle oldu. Referrer kontrolü gibi bir-iki basit güvenlik önlemi alınmış, onları curl kütüphanesi yardımı ile kolayca aştım. Gelgelelim ki kolayca hallederim diye düşündüğüm RAR işlemlerini yapmak için yazdığım fonksiyon aşağıdaki şekilde bir hata iletisi ile bana dönüş yaptı.

Fatal error:  Call to undefined function rar_open() in D:\xampp\htdocs\dosyam.php on line 5

Anlaşılacağı üzere dosyayı bile açamadım. İlk düşüncem kullandığım localhost yazılımı olan XAMPP’in php.ini dosyasından RAR eklentisini aktifleştirmenin sorunu çözeceğini yönünde idi. Php.ini dosyasını açıp RAR’ı aktifleştirebileceğim bir yer aradım

https://www.puttygen.net/

, o kadar çok aradım ki aramızda bir yakınlık oldu bu dosyayı daha sonraki açtığım seferlerde “Annen, baban nasıl? İyiler mi? Neyse selam söylersin…” muhabbeti edilebilecek duruma geldik 🙂 .

Meğersem RAR eklentisi XAMPP ile birlikte gelmiyormuş, yapmamız gereken php.net adresinden gerekli eklentiyi indirip çalışır hale getirmekmiş. Wamp Server ile birlikte bu eklentinin gelip gelmediği hakkında bir fikrim yok ama eğer ki gelmiyor ise muhtemelen aşağıda yazanların aynısını yaparak Wamp Server’a da kurabilirsiniz. (Wamp Server kullanmadığım için kesin bir bilgi veremiyorum)

php-rar-eklentisi-2

  1. http://pecl.php.net/package/rar adresine girip gerekli eklentinin son sürümünü indiriyoruz. Yanlız dikkat edin oradakilerin çoğu linux için, bizim indireceğimiz dosyada DLL yazıyor ve yanında Windows logosu bulunuyor.
  2. İndirdiğimiz dosyanın içindeki “php_rar.dll” isimli dosyayı  “xampp\php\ext” dizinine kopyalıyoruz.
  3. xampp\php\php.ini” dosyasını açıyoruz.
  4. ; Windows Extensions
    ; Note that ODBC support is built in, so no dll is needed for it.
    ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
    ; extension folders as well as the separate PECL DLL download (PHP 5).
    ; Be sure to appropriately set the extension_dir directive.

    Kısmının altına

    extension=php_rar.dll

    Kodunu ekleyoruz.

  5. XAMPP Control Panel’den Apache Modülüne reset attıktan sonra RAR işlemlerini yapmak için artık önümüzde hiçbir engel kalmıyor.

Eklentinin çalışıp çalışmadığını kontrol etmek ister iseniz http://localhost/xampp/phpinfo.php adresine girin eğer yazının başındaki resimde olduğu gibi RAR için ayrı bir bölüm varsa herşeyi başarı ile tamamlamışsınız demektir.