趁着周末,将网站的php版本升级到了8.1,但是由于wordpress插件都比较陈旧,没有及时更新。所以出现了不少的错误。通过查阅网络资料,结合实际情况,列出遇到的如下三种情况。1、Fatal error: Uncaught Error: Call to undefined function create_function()由于在wordpress中,一些插件、主题使用了create_function()函数。这个函数在 PHP 7.2 版本中就已经被废弃并且在 PHP 8.0 中被移除。你可以使用匿名函数来代替 create_function()。例如,如果你原来的代码是这样的:$myFunction = create_function('$arg1, $arg2', 'return $arg1 + $arg2;'); $result = $myFunction(1, 2); 可以将其修改为:$myFunction = function ($arg1, $arg2) { return $arg1 + $arg2; }; $result = $myFunction(1, 2
近期把服务器的php版本从7.4升级到了8.1,网站响应速度终于快了那么一丢丢(可能是心理作用吧)。但因为php8的语法要求更加严格,所以升级过程中,在多个站点里,发现了N多报错。1、Warning: Undefined array key "xxxxxxx" in ....这个错误是我在升级过程中遇到的最多的错误之一。如果你的代码中使用了未定义的数组键值,那么会抛出 Undefined array key 错误。这是因为在 PHP 8 中,增加了对未定义的数组键值的严格检查,所以如果访问一个未定义的数组键值,PHP 会抛出一个警告或致命错误。这个错误通常会在使用数组时出现,例如:$array = []; echo $array['key']; //这里的键'key'就是一个未被定义的key出现这个错误的解决方法是在访问数组元素之前检查它是否已经定义。可以使用 isset() 函数或 Null 合并运算符(??)来避免该错误。例如,将下面的代码:if ($dami_meta['std'] != '') { echo '<img src="'.$da
1.本机当前日期和时间<div id=time></div> <script>setInterval("time.innerHTML='今天是'+new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay())+' ';",1000);</script>2.php页获取服务器时间<?php $t = date("今天是Y年m月d日 现在时间H:i:s", mktime(now)); echo "$t"; ?>(注:使用date()为服务器时间,使用gmdate()则返回格林威治标准时间)或者:<?php $tt = strftime("%G年%m月%d日,星期%u,现在时间%T", mktime(now)); echo "$tt"; ?>附录:关于函数中各字母的意义列表date()函数:date(格式,[时间]);如果没有时间参数,则使用当前时间.格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1月1日)以来的秒数Y 替换成4位的年
这几天还在忙着后勤处的网站,做了好长时间,总是不专心。今天总算能扎下心来好好写写了。关于php获取屏幕分辨率的问题搜索了半天,得到的结果是:php不能直接获取,只有通过js得到后传递给php~~恩,还算可以解决...根据屏幕分辨率调用相对应的页面:先做好几个页面,比如一个htm1.htm是800*600,一个是htm2.htm是1024*768的 然后在你的入口页面 index.htm 中判断:<script language="javascript"> <!-- function mHref() { if (screen.width == 1024) location.href = "htm2.htm"; else if (screen.width == 800) location.href = "htm1.htm"; else return(false); } //--> </script>恩,这一下就好办多了~~~另外,还有一些input的高级用法,也在这里收集一下:1.取消按钮按下时的虚线框在input里添加属性值 hideFocus 或者 Hid
肥牛
半路出家的产品圈怪蜀黍