PHP Otomatik Güncelleme
10
●583
- 16-09-2020, 15:07:53PHP ile nasıl otomatik güncelleme yapabilirim? WordPress gibi güncelle sistemini arıyorum fakat internette hep karşıma cpanel versiyon güncellemesi çıkıyor.
- 16-09-2020, 15:09:38Bahsettiğin çok geniş bir konu. Uzak sunucuda dosyaları tutup file_put_contents ile üzerine yazabilirsin en basit mantıkla
- 16-09-2020, 15:19:44Üyeliği durdurulduÇok geniş bir konu değil gayet basit. file_put_contents ile alakası yok konunun. Aşağıdaki verdiğim kod ve mantık ile rahatlıkla yapabilirsiniz. Tabiki bu kodun çalışması için en azından yönetim paneline gün içerisinde giriş yapmanız gerekiyor.
Yazının yazıldığı tarihi wordpress veritabanında yer alıyor. siz o veriyi çekerek aşağıdaki gibi işlem yapmalısınız.
date_default_timezone_set('Europe/Istanbul'); $otomatikyayintarihi= date('d.m.Y H:i:s', time() + 1800); // 1800 saniye cinsindendir. ne kadar uzun olmasını istiyorsanız oraya istediğiniz süreyi yazabilirsınız. otomatik yayın tarihini de aynı tabloya sütun açarak ekleyebilirsınız. $suankitarih= date('d.m.Y H:i:s'); if ($suankitarih > $otomatikyayintarihi) { // buraya veritabanında yazının durumunu update edecek kodları yazacaksınız. }else { }İnşallah anlayacağınız şekilde anlatabilmişimdir. - 16-09-2020, 15:20:21Kimlik doğrulama veya yönetimden onay bekliyor.Basit bir güncelleme yöntemi. Tabiki büyük projelerde kullanamazsın.
Server tarafında
Versiyonu kontrol edip. Güncel versiyon dosyalarını gönderebileceğin bir halde yapabilirsin.
Client tarafında böyle birşey yapıp kontrol edebilirsin.
<?php class Updater { private $versionCheck = 'https://xxx.../checkVersion'; private $versionFiles = 'https://xxx.../getFiles'; public $currentVersion = '1.0'; function update() { $result = $this->get($this->versionCheck); if (!$result) { return $this->response(false, 'Manuel Güncelleme yapın'); } $lastVersion = json_decode($result); if ($this->currentVersion === $lastVersion) { return $this->response(true, 'Zaten Güncel'); } $result = $this->get($this->versionFiles); if (!$result) { return $this->response(false, 'Manuel Güncelleme yapın'); } $checkFiles = json_decode($result); foreach ($checkFiles as $filePath => $icerik) { if (!is_writable($filePath)) { return $this->response(false, "$filePath Dosyasının yazma izni yok"); } } foreach ($checkFiles as $filePath => $content) { $file = @fopen($filePath, 'w'); if (!$file) { return $this->response(false, 'Manuel Güncelleme yapın'); } fwrite($file, $content); fclose($file); } return $this->response(true, 'Güncellendi'); } function get($url) { return file_get_contents($url); } function response($status, $message) { return ['status' => $status, 'message' => $message]; } } ?> - 16-09-2020, 15:21:12yok hocam ben yanlış anlattım sanırım. Amacım kendi yaptığım scripte güncelleme getirdiğimde satın alanların panelden otomatik sistemi güncelleyebilmesimucahitguner adlı üyeden alıntı: mesajı görüntüle
- 16-09-2020, 15:22:39Anlamadığın konularda laf sokmak bilgisizliğini gösteriyor. Arkadaşın sorduğu soru ile verdiğin cevap arasında EN UFAK BİR ALAKA yok. Bence yazılımla uğraşmadan önce okuma ve anlama becerilerini geliştirmen yararına olurmucahitguner adlı üyeden alıntı: mesajı görüntüle
Yukarıda arkadaş hazır kodlarıda paylaşmış. file_put_contents yerine file_get_contents ile yapılmış. Gayet iş görür. - 16-09-2020, 15:40:28Üyeliği durdurulduben size laf sokmadım. işlemin basit olduğunu ve sizin söylediğiniz kod ile alakası olmadığını söyledım. siz bunu laf sokma olarak algılıyorsanız kişisel gelişiminizle alakalı bir durum. bir dk içerisinde benım yazılım bilgim olmadığını anlayabildiniz tebrik ederim sizi. halbuki 8 yıldır tecrübeliyim. asıl siz benım söylediklerımı anlayın ve iyi kavrayın. Laf sokmak sizin yaptığınıza denir ki biz sizin yaptığınızı yapmayız.CihanAksoy adlı üyeden alıntı: mesajı görüntüle
Otomatik güncelleme derken biz istenilen bir tarihte otomatik olarak güncelleme olarak düşündük. wordress gibi dediğiniz için de wordpress den örnek verdik. - 16-09-2020, 15:44:56İşlem basit değil ve file_put_contents ile birebir alakalı bir konu! Birdahaki sefere birisinin söylediğine karşı KESİN konuşmadan önce yazılanları iyice okuyup mesaj yazmanızı tavsiye ediyorum. Daha okuduğunu anlayamayan 5 aylık bir kullanıcı ile sidik yarışına girmeyeceğim. İyi günler bol kazançlarmucahitguner adlı üyeden alıntı: mesajı görüntüle
- 16-09-2020, 15:52:26Üyeliği durdurulduDaha okuduğunu anlayamayan biri olarak (CihanAksoy adlı üyeden alıntı: mesajı görüntüle
) forumda 5 aydır olmanın 5 aylık yazılım tecrübesine eş değer olduğunu sanan biriyle laf yarışına girmeyeceğim.İstediğiniz yarışa istediğinizle girebilirsiniz biz sidik yerine bilgimizle yarışıyoruz. Hayırlı günler size de