2008-10-25 14 views
7

¿Cómo puedo verificar la versión de mi script en un archivo en línea para ver si es la versión más reciente?Comprobación/notificación de la versión de script de PHP

Para aclaración, estoy hablando de un script que escribí, no de la versión de PHP. Me gustaría incorporar una forma para que el usuario final sepa cuándo actualicé el script.

+0

Debería tal vez reformular la pregunta para que quede claro que si quieres la versión del script que se está ejecutando o la PHP_VERSION – Ken

Respuesta

15

Para especificar la segunda solución (más sencillo) phjr propuesta:

tiene un archivo version.txt en su propio servidor público e incluyen la siguiente función en el proyecto desplegado/guión:

define('REMOTE_VERSION', 'http://your.public.server/version.txt'); 

// this is the version of the deployed script 
define('VERSION', '1.0.1'); 

function isUpToDate() 
{ 
    $remoteVersion=trim(file_get_contents(REMOTE_VERSION)); 
    return version_compare(VERSION, $remoteVersion, 'ge'); 
} 

version.txt sólo debe contener la versión más reciente entumecida er, por ejemplo:

1.0.2 
+0

No tengo votos para las próximas 15 horas, pero quiero votar esta respuesta. – eyelidlessness

+0

Otra solución que suena genial, probaré esta también. – PHLAK

0

Tiene un RSS o Atom feed con información de actualización. Wordpress hace algo similar. A continuación, puede guardar localmente la información que las actualizaciones han sido mostradas al usuario, etc.

Para una solución aún más simple, tenga un archivo en el sitio web del proyecto que contenga solo el número de versión. Luego, compárelo con un número de versión almacenado en su programa, probablemente dentro de una constante.

2

por los comentarios sobre 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

me gusta que ... Voy a dar de que una tratar. – 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>"; 
} 
Cuestiones relacionadas