仅在脱机时执行php脚本

仅在脱机时执行php脚本,php,offline,Php,Offline,我有一个从html文件顶部执行的php登录脚本。有没有办法在脱机使用时不执行此php代码 目标是: 我有一个可以在手机上缓存的webapp。 当用户没有网络时,仍然可以打开并使用该应用程序。 但脱机时,它无法连接到用户数据库进行身份验证 因此: 联机时:执行登录脚本 脱机时:跳过loginscript 我是这样想的: <?php function getStatus($ip,$port){ $socket = @fsockopen($ip, $port, $errorNo, $er

我有一个从html文件顶部执行的php登录脚本。有没有办法在脱机使用时不执行此php代码

目标是: 我有一个可以在手机上缓存的webapp。 当用户没有网络时,仍然可以打开并使用该应用程序。 但脱机时,它无法连接到用户数据库进行身份验证

因此:

联机时:执行登录脚本 脱机时:跳过loginscript 我是这样想的:

<?php

function getStatus($ip,$port){
   $socket = @fsockopen($ip, $port, $errorNo, $errorStr, 3);
   if(!$socket) return "offline";
     else return "online";
}

echo getStatus("sitename.com", "80");
?>
但是,它应该在离线时执行php脚本,而不是在线echo 但是您不能在php代码中回显php代码


关于如何处理这个问题有什么想法吗?

PHP是在服务器端执行的,而不是在客户端。如果缓存了一个网站,您甚至可能根本不会联系Web服务器


事实上,让服务器在脱机时执行PHP代码是不可能的,因为您根本不会与服务器联系

PHP在服务器端工作,所以当用户脱机时,它将无法登录。 缓存只对输出文件执行,例如

html、js、css、图像


等等,但是Cookies不能被编辑*实际上,它们可以被javascript*编辑,而无需连接到服务器。

Ans脚本何时也被缓存?@bafplus PHP脚本不会被缓存,因为它从未发送到客户端。发送到客户端的内容是PHP脚本返回的内容。这是您的浏览器可以缓存的。那么,如果浏览器脱机时在标题中遇到include:some.php文件,会发生什么情况?它是否只是跳过并按正常方式处理页面?如果是,则我已被保存;-浏览器从未遇到过包含。同样,这种情况发生在服务器端。打开浏览器,导航到该网站,单击“查看页面源”。这就是浏览器得到的。它根本没有PHP代码,只有PHP打印出来的内容。所以当缓存时,没有包含,因此网页在没有登录的情况下呈现为正常页面?其想法是在脱机时根本不使用登录脚本…因此,只有在用户登录后才缓存脱机站点,并且只有在用户联机时才会进行身份验证。如果用户脱机,则无法连接到服务器并登录。这就是为什么我不希望当用户脱机时加载的身份验证脚本…然后只是显示所有内容。案例在线:加载用户身份验证,案例离线:根本不使用用户身份验证,所有内容都是可见的如果无法与服务器联系,因为它处于离线状态,甚至无法为舒尔运行脚本。如果您有任何用于登录的JavaScript,那么情况就不同了