仅显示当前年份
© <?php echo date("Y"); ?>
显示起始年份
© 2008-<?php echo date("Y"); ?>
带错误保护的起始日期
<?php function auto_copyright($year = 'auto'){ ?>
<?php if(intval($year) == 'auto'){ $year = date('Y'); } ?>
<?php if(intval($year) == date('Y')){ echo intval($year); } ?>
<?php if(intval($year) < date('Y')){ echo intval($year) . ' - ' . date('Y'); } ?>
<?php if(intval($year) > date('Y')){ echo date('Y'); } ?>
<?php } ?>
用法
<?php auto_copyright(); // 2011?>
<?php auto_copyright("2010"); // 2010 - 2017 ?>
非常好!我一直用JS来做这件事,从没想过用PHP来实现。将来一定会使用这个方法。
这是一篇五年前帖子的回复,但是,我相信我添加了一些有用的内容…
只是想提醒一下,如果有人考虑使用JS:使用JS方法容易受到滥用或出现重大错误,因为您将依赖最终用户的电脑拥有正确的时间——除非您使用Ajax从服务器获取实时时间。
@Dave 你能想象网站上的版权日期会发生什么类型的滥用吗?
哇!我用过PHP的日期功能,但从未想过在这种情况下使用它。
不错,我现在正在使用日期函数将系统日期存储到数据库中。
非常简单… 当版权包含两年时很不错。但如果只有一年(例如公司刚刚在本年度成立),则该代码不适用。更通用的方法是…
这是一个非常好的代码,它只会让服务器花费更长的时间来处理,我知道有些人不会在版权中使用php日期函数,因为加载时间过长,我感觉这会让他们感到震惊。
就个人而言,为了方便使用,我会使用单个版权日期,或者只是使用相同年份到相同年份,例如2007-2007,直到年份改变。
“我知道有些人不会在版权中使用php日期函数,因为加载时间过长”
真的吗?他们的服务器是用袖珍计算器运行的吗?替朋友问一下..
抱歉,忘记从之前的帖子中删除标签,请删除它。
以下是基于我用于PHP代码打印带起始日期的版权声明的内容
谢谢Chris - 对我来说效果很好
<?php
// 如果两年的年份相同,则只显示当前年份,
// 如果它们不同,则用连接号在它们之间显示两者
$startYear = 2011;
$thisYear = date(‘Y’);
if ($startYear == $thisYear) {
echo $startYear;
} else {
echo “{$startYear}–{$thisYear}”;
}
?>
我已将以下内容放入我的html文档中
版权所有 © 公司名称 保留所有权利
但没有任何反应!
希望得到解释
为什么我的php文本没有显示出来,试图解释哪里出错了???
为了让此网页显示我的文本而不是解析代码,我需要在文本前放置哪些字符?
它必须是一个PHP页面
很棒的代码。谢谢!
Peter,您的页面需要保存为PHP,例如somepage.php - 此外,如果您尝试在本地计算机上查看php页面,它将无法工作,您只会看到一个空白页面。要执行此操作,您需要下载并安装WAMP或XAMPP,然后将您的php页面复制到WAMP/XAMPP(在尝试查看php页面之前确保它们已打开)。复制完成后,在浏览器中的URL栏中键入;localhost或 https://#
嗨,
我必须将以下内容放在根目录下的.htaccess文件中,才能使html文件中嵌入的php正常工作。
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
感谢您提供代码片段,Chris!有一个朋友的WordPress主题曾经为他输出版权年份,但主题依赖的核心函数输出年份的功能发生了变化,并为他产生了错误。
感谢您的代码片段,我能够修复他存在缺陷的主题。
我用过PHP的日期功能,但从未想过在这种情况下使用它。
谢谢!运行完美!
这太棒了,谢谢,我成功修复了困扰我很久的问题。
除非您在结束的php标签之前放置一个分号,否则页面顶部发布的脚本将无法工作…就像这样
$startyear=”2013″;
$copyrightyear=($startyear==date(‘Y’)?$startyear:$startyear.” – “.date(‘Y’));
echo $copyrightyear;
更短,
将三个2000设为您的起始年份
echo $copyrightyear=(“2000″==date(“Y”)?”2000″:”2000 – “.date(“Y”));
更短
完整的php版权代码,起始年份为2013
结果
版权所有 © 2013 · YourName · YourWebSite · 保留所有权利
起始年份2000
结果
版权所有 © 2000 – 2013 · YourName · YourWebSite · 保留所有权利
我使用了HTML特殊字符“©”和“·”(中间点),但这里没有显示。
你好,
实际上,代码中的这部分 `intval($year) == ‘auto’` 是一种非常不好的实践。你在这里做的是比较一个整数(由于 `intval` 转换)和一个字符串。它之所以能工作,仅仅是因为你使用了相等运算符,并且等式右侧的字符串会自动转换为整数。
这可能会让编程新手感到困惑,应该避免这种写法。
更多信息请参考:https://php.ac.cn/manual/pl/language.operators.comparison.php
最后但并非最不重要的一点,代码不应该在函数的每一行都包含标签,应该移除它们以提高可读性;)
此致,
Rafal
你好,
我做了一些修改,使其能够与WordPress一起使用,并且对其进行了一些增强。
1.) 将此粘贴到你的主题 functions.php 文件中
2.) 并在你想显示版权的任何地方使用它
所有这些的输出结果是
根据年份的不同,函数可能看起来像这样
就是这样。
嗨!
非常感谢你发布这篇有帮助的文章。我尝试在我的Headway主题的WordPress网站(我正在创建)中使用你的代码,但我无法使其工作 :(
我试图在我的网站页脚添加版权信息,以便年份自动更新到当前年份。我尝试在Headway的可视化编辑器中使用以下代码:
Copyright @ Premiere Condos, Karen Law
但它不起作用……你知道我哪里做错了吗?
非常感谢你的时间!
#Karen Law..就这么简单。footer.php 文件。找到引用页脚消息的那一行,并在该行中创建 PHP 标签,你就完成了。请看这里
Copyright © .
这绝对会对你有所帮助。
你好,
这个函数工作得很好,但只有一个问题……为什么每一行都包含 PHP 开启和关闭标签?为什么不只用一个标签包含所有内容?这样会更有效率。
此致,
Richard
感谢你的信息!我知道你不能将 PHP 函数嵌套在彼此内部……我该如何让它适用于以下情况?(我想将这个日期 PHP 嵌套到我已有的 printf PHP 中)
Richard,我觉得作者只是在那里添加了标签,让用户知道为了让函数生效(对于 .php 文件),必须存在这些标签。
此外,还有一种更简单的方法,或者我个人认为比较简单的方法,我在解析 PHP 输出的许多情况下都应用了这种方法。
//赋值
$copydate = date(“Y”);
//其他所有内容都可以放在这里 :)
//在任何需要的地方声明或调用它
$message .= “Written by ExitNode © “.$copydate.”\n”;
结果/输出
Written by ExitNode © 2014($copydate 返回当前年份)
版权声明并非版权法保护所必需。这在所有西方国家都是普遍适用的。
自动更新版权年份的做法绝对愚蠢。这意味着对于你在 2011 年撰写的内容,你告诉全世界你在 2014 年(或当前的任何年份)撰写了它。如果发生争议,并且你唯一证明自己是原创版权所有者的证据是网站上的版权声明,那么这可能会给你带来问题。你的版权声明应反映内容创作的年份。
每个人都应该停止使用这些版权声明,尤其是在添加误导性或完全错误的年份时。你只应在确实需要时才将其包含在内。从法律角度来看,它对你的帮助绝对为零,并且如果提供的年份信息不正确,只会可能对你造成损害。
更好的是
注意:此 PHP 简写并非在所有配置中都受支持。
有时你必须在 php.ini 文件中将 short_open_tag PHP 指令设置为“1”。
https://php.ac.cn/manual/en/ini.core.php#ini.short-open-tag
这是为懒人准备的 xD
嗨,使用这段代码
Copyright © 保留所有权利 pbimt。
谢谢……
谢谢,非常酷!
分享自我的页面。
版权 © 我在哪里将这段代码粘贴到 footer.php 中?
所有这些 PHP 开启和关闭标签都很可爱。好的做法是在一组 PHP 开启和关闭标签之间包含所有 PHP 代码。即使你只是在 PHP 中输出所有 HTML,它也能防止服务器在页面上多次开启和关闭 PHP。
现在需要 `date_default_timezone_set()`,例如;
我有一个包含以下内容的 PHP 配置文件
然后在我的页脚中输出它
请注意,标题为“使用错误保护开始日期”的代码片段在其默认的 auto 值下无法工作。`intval('auto')` 将始终评估为 0,因此永远不会等于字符串 `auto`。
除了这个明显的错误之外,它也是一段非常难看的代码,包含相当多的冗余内容。这是我功能等效的清理版本
也许我关于默认 auto 值错误说得太早了。但是,它之所以能工作,是因为它对整数 0 和字符串“auto”进行了松散比较,PHP 将其评估为 true。
尽管如此,我的版本仍然去除了所有冗余内容和一些不必要的逻辑 :)
你可以使用 PHP 简写标签来编写更简洁的代码
并且不需要对版权符号使用字符转义(除非你的网站使用的是 UTF-8 以外的旧版字符编码)。
在使用 PHP 简写时,这也有效
<?= date("Y"); ?>
摇滚!
我的感觉是,日期范围应该使用 n 破折号(`–`)而不是连字符(`-`)。从视觉和语义上来说,它更令人愉悦(连字符与减号的字形相同)。大多数风格指南都会同意这一点,但随后它取决于你的网站上如何处理范围。保持一致性比正确性更重要。
嗨,伙计,我也发现了一个很好的例子
WordPress 动态版权日期
我总是更喜欢使用 WordPress 插件,例如 Automatic Copyrights Shortcode,并让它在多年后我再次访问我的网站时处理这个问题。顺便说一句,尽管信息不错。谢谢。