2008-10-25 13 views
7

Jak mogę sprawdzić wersję mojego skryptu przed plikiem online, aby sprawdzić, czy jest to najnowsza wersja?Wersja skryptu PHP Sprawdzanie/powiadamianie

Dla wyjaśnienia, mówię o skrypcie, który napisałem, a nie o wersji PHP. Chciałbym wprowadzić sposób, aby użytkownik końcowy mógł powiedzieć, kiedy zaktualizowałem skrypt.

+0

Powinieneś może przeformułować pytanie, aby było jasne, czy chcesz wersję scenariusza są uruchomione lub PHP_VERSION – Ken

Odpowiedz

15

Aby określić drugi (bardziej proste) rozwiązanie phjr proponowaną:

Czy plik version.txt na własnym serwerze publicznym i zawierać następujące funkcję w swojej wdrożonego projektu/skrypt:

version.txt powinien zawierać najnowszą wersję odrętwienia er, np:

1.0.2 
+0

Brakuje głosów na następne 15 godzin, ale chcę przyjąć tę odpowiedź. – eyelidlessness

+0

Inne rozwiązanie, które brzmi świetnie, spróbuję też tego. – PHLAK

0

Masz RSS lub Atom feed z informacją o aktualizacji. Wordpress robi coś podobnego. Następnie możesz lokalnie zapisywać informacje, które aktualizacje zostały pokazane użytkownikowi itp.

Aby uzyskać jeszcze prostsze rozwiązanie, umieść plik w witrynie projektu, który zawierałby tylko numer wersji. Następnie porównaj go z numerem wersji zapisanym w twoim programie, prawdopodobnie w stałej.

2

za komentarze na this answer

// Substitue path to script with the version information in place of __FILE__ if necessary 
$script = file_get_contents(__FILE__); 
$version = SOME_SENSIBLE_DEFAULT_IN_CASE_OF_FAILURE; 
if(preg_match('/<!-- Script version (\d*(\.\d+)*) -->/', $script, $version_match)) { 
    $version = $version_match[1]; 
} 
+0

mi się podoba ... dam, że próbować. – PHLAK

2
define('REMOTE_VERSION', 'http://your.public.server/version.txt'); 
define('VERSION', '1.0.1'); 
$script = file_get_contents(REMOTE_VERSION); 
$version = VERSION; 
if($version == $script) { 
    echo "<div class=success> 
<p>You have the latest version!</p> 
</div>"; 
} else { 
    echo "<div class=error> 
<p>There is a update available!</p> 
</div>"; 
}