草庐IT

If-Modified-Since

全部标签

php - 如果未修改,使 PHP 页面返回 "304 Not Modified"

我有一个PHP文件,它每次都会使用相同的$_GET参数返回相同的东西——它是确定性的。不幸的是,为了提高效率(经常请求此文件),每当请求PHP页面时,Apache默认为“200OK”响应,从而使用户再次下载该文件。有什么方法可以发送304NotModifiedheader当且仅当参数相同时?奖励:我可以为其设置一个过期时间,以便如果缓存页面超过三天,它会发送“200OK”响应吗? 最佳答案 如果不自己缓存页面(或至少是它的Etag),您就无法真正使用304。完整的缓存算法有点超出范围,但总体思路是://theactualpage所有

php - `if (isset($_SESSION))` 和 `if ($_SESSION)` 之间的区别?

我注意到人们经常简单地写我一直在使用:有人可以解释检查变量是否设置时的区别吗(这就是我要使用它的目的)? 最佳答案 在PHP中,如果变量不存在(“未设置”),则PHP将吐出一个E_NOTICE错误,创建缺少的变量,并将其分配给NULL.如果您不希望您的脚本充满烦人的错误消息,从而泄露有关您的服务器和脚本的信息-那么请在尝试访问值之前使用isset()进行测试。基本上,您要求PHP从$_SESSION中获取username而PHP就像,“没有username”! 关于php-`if(iss

php - 在 IF 条件下与 int 和 string 进行比较

PHP代码:或输出:Mackraja 最佳答案 Ifyoucompareanumberwithastringorthecomparisoninvolvesnumericalstrings,theneachstringisconvertedtoanumberandthecomparisonperformednumerically.Theserulesalsoapplytotheswitchstatement.-Source这意味着truevar_dump("1"=="01");//1==1->truevar_dump("10"=="1

php - Switch 和 IF 有什么区别?

我知道这可能是一个简单的问题,但想知道每个人对此的看法。PHP中的switch和IF函数有什么区别??我能看到的是“switch”函数使用“IF”函数的地方也适用..如果我错了请纠正我..或者两者之间在性能方面有什么区别?? 最佳答案 Oranyperformancewisedifferencebetweentwo??忘掉这个级别的性能差异-可能存在微观差异,但只有在进行数十万次操作时才会感觉到,如果有的话。switch是一种提高代码可读性和可维护性的结构:switch($value){case1:....break;case2:.

php - 有趣的 PHP 语法 : an 'implied if' ?

我在ZendFramework项目的默认index.php文件中遇到了这个有趣的行:defined('APPLICATION_PATH')||define('APPLICATION_PATH',realpath(dirname(__FILE__).'/../application'));好像在说“如果没有定义APPLICATION_PATH,那就继续定义吧……”我不知道PHP中有这种控制结构。这几乎就像一个“隐含的如果”或“如果/其他”。谁能帮我解决这个问题? 最佳答案 它不是一个控制结构-它就是||的工作方式。如果第一个操作数被评

php - 如何在 preg_match 语句中使用 "if X or X"

我希望在PHP中像这样声明:if(preg_match("/apples/",$ref1,$matches))或if(preg_match("/oranges/",$ref1,$matches)){然后做点什么上面的每一个单独工作都很好,但我不知道如何做到,如果其中任何一个为真,那么执行我在它下面的功能。 最佳答案 使用|选择一个值或另一个。您可以多次使用它。preg_match("/(apples|oranges|bananas)/",$ref1,$matches)编辑:这篇文章让我很饿。

php - 通过 PHP 缓存图像请求 - If-Modified-Since 未发送

我通过php提供图像并且在设置它以响应304header以节省加载时间时遇到了一些问题。下面的大部分代码是我在php.net上找到的。它有效,但总是以200响应。由于某些原因,即使我最初发送了Last-Modifiedheader,也没有在任何请求中收到If-Modified-Sinceheader。这是在一个apache服务器。知道可能出了什么问题吗?Examplehere.此页面将从磁盘加载图像并将其显示到浏览器,同时发送Last-Modifiedheader。如果您刷新页面,浏览器不会像它应该的那样发送If-Modified-Sinceheader。define('SITEPAT

php - 这些嵌套的 if/elseif 语句的更优雅的解决方案是什么?

我正在构建一个包含用户和用户配置文件的网站。配置文件中的许多字段都是可选的。有很多用户生成内容的机会,因此我需要在网站的许多不同位置(评论、帖子等)显示此内容的作者。在用户的个人资料中,他能够(可选地)填写他的“名字”、“姓氏”和“显示名称”。为了显示作者,我编写了一个辅助方法来查看提供的这些字段的数组,并按照以下优先顺序返回最适合用户的名称:如果用户填写了display_name,就会显示出来。如果用户填写了first_name和last_name,但没有填写display_name,它将显示这两个名字如果用户只填写了first_name,它会显示first_name。如果用户只填写

php - is_null 函数在我的 if 语句中无法正常工作

我有一个if语句来检测用户是否登录并属于某个部门。这真的很简单。有一个Permissions.php类,如果登录或返回NULL,则返回User对象。protected$user=NULL;...publicstaticfunctioninstance(){if(!self::$instance){self::$instance=newPermissions();}returnself::$instance;}...publicfunctionget_user(){return$this->user;}然后是user.php类,它具有返回他们所在部门的函数:publicfunctioni

php - 正则表达式 - 获取元素以呈现 if 语句

我正在设计脚本并尝试在php中不使用eval构建if结构。仍然不完整,但正在突破,它是为了做一个模板引擎,引擎的“if”部分。不允许赋值运算符,但我需要测试值不允许php代码注入(inject),准确地说不使用eval它需要在变量之间进行单独的操作以防止注入(inject)攻击。正则表达式必须捕获[if:(a+b-c/d*e)|(x-y)&!(z%3=0)]output[elseif:('b'+'atman'='batman')]output2[elseif:('b'+'atman'='batman')]output3[elseif:('b'+'atman'='batman')]out