Php Desktop ile masaüstü uygulamayı güncellemek

 Daha önce php ile windows masaüstü uygulama yapmak hakkında bir yazı paylaşmıştım. Aktif olarak kullandığım bir uygulamada arada güncelleme yapmam gerekiyor. Ben php-desktop'u basit bir arayüz olarak kullanıyorum. 

Kullanıcıların firefox yada chrome benzeri internet tarayıcıları kullanması yerine benim belirlediğim programı kullanmaları performans olarak daha faydalı. Bu şekilde kullanıcılar sadece yaptıkları işe odaklanabiliyor.

Arada uygulamaya güncellemeler yapmam gerekiyor. Bu güncellemeleri el ile 50 kullanıcıda yapmak tam bir zulüm. Bunun yerine kullandıkları programa ufak bir batch dosyası yazarak işleri kolaylaştırdım. Güncellenecek dosyaları siteye yüklüyorum ve sitedeki versiyon.txt yi değiştirdiğimde işlem başlıyor.

Php-desktop uygulamasının kurulu olduğu www klasörünün altındaki index.php'de ufak bir kontrol yaptırıyorum. Dizinde versiyon.txt adında bir dosyam var bu dosyada programın hangi versiyon olduğu yazıyor. örnek : 11.0 program siteye gidip oradaki versiyonu kontrol ediyor. Eğer versiyon farklı ise sitedeki update.bat dosyasını indirip çalıştırıyor. Bu güncelleme kontrol işlemi php-desktop uygulamasını her kapatıp açtığında yapıyor.

index.php

<?php
$myfile = fopen("versiyon.txt", "w");
$txt = "11.0";
fwrite($myfile, $txt);
fclose($myfile);

$vkontrol   = fopen("versiyon.txt", "r");
$versiyon = fgets($vkontrol); fclose($vkontrol); $url = "http://siteadresi.com/versiyon.txt"; $data = file_get_contents($url); if ($versiyon !=$data) { $url = 'http://siteadresi.com/update.bat'; $curlCh = curl_init(); curl_setopt($curlCh, CURLOPT_URL, $url); curl_setopt($curlCh, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlCh, CURLOPT_SSLVERSION,3); $curlData = curl_exec ($curlCh); curl_close ($curlCh); $downloadPath = "update.bat"; $file = fopen($downloadPath, "w+"); fputs($file, $curlData); fclose($file); sleep(1); exec("START update.bat");
} if ($versiyon == $data) { ?> <html> <head> <title></title> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-9"></META> <META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://siteadresi.com/desktop.php"></META> </head> <body> </body></html> <?php }?>

update.bat

taskkill /F /IM "phpdesktop.exe"
bitsadmin.exe /transfer "LUTFEN BEKLEYIN!! INDEX UPDATE!" http://siteadresi.com/index.ph C:\phpdesktop\www\index.php
bitsadmin.exe /transfer "LUTFEN BEKLEYIN!! SETTINGS UPDATE!" http://siteadresi.com/settings.json C:\phpdesktop\settings.json
ipconfig /flushdns del "C:\phpdesktop\webcache\*.*" /s /f /q
start C:\phpdesktop\phpdesktop.exe
exit();

update işlemi ilk olarak phpdesktop.exe uygulamasını kapatıyor. daha sonra siteadresi.com'a gidip index.ph dosyasını varolan index.php ile değiştiriyor. index.ph olmasının nedeni php dosyasını siteden indiremezsiniz. Sonrasında settings.json ayarları indirip güncelliyor flushdns ile önbelleği temizliyor. phpdesktop klasöründe bulunan webcache klasörünün içini temizliyor. Bu klasörde çok fazla cache dosyası birikir. En son uygulamayı çalıştırıyor ve program güncellendi.

Ben php-desktop'u basit olarak kullanıyorum. Siz detaylı birşekilde kullanıyor ve güncelleme yaptığınızda daha fazla dosya indirip güncelleyecekseniz kendinize göre değiştirebilirsiniz.

Yorumlar

Bu blogdaki popüler yayınlar

Stormfall: Saga of Survival Hile

Php ile Windows Uygulama Yapmak Başlangıç (PHP Desktop)

Rise Of Civilizations