我有两个类: Action和MyAction 。 后者被宣布为: class MyAction extends Action {/* some methods here */} 我所需要的只是Action类中的方法(仅在这个类中,因为会有很多inheritance类,而且我不想在所有这些类中实现这个方法),它将从静态调用中返回classname。 以下是我正在谈论的内容: Class Action { function n(){/* something */} } 当我把它叫做: MyAction::n(); // it should return "MyAction" 但是父类中的每个声明都只能访问具有值“Action”的父类__CLASS__variables。 有没有办法做到这一点?
在PHP中,将RGB三元组转换为HSV值最直接的方法是什么?
一个头刮你的。 我从IPInfoDB的API中获取地理IP数据,并从UTC返回包含 DST(如果当前已反映)的时区偏移量。 例如,我住在EST(-5),目前是DST,所以地理IP API返回( -04:00 )作为抵消。 因为DST是一个令人头疼的事情,所以这真是太好了。 但令我惊讶的是,这又令人头痛。 我加载这个数据在PHP中通过AJAX传递给应用程序。 我想在应用程序的IP地址的本地时间。 我已经完全设置,但我疯了试图找出如何设置PHP时区匹配的偏移量,所以我可以抓住当前的小时date('H'); 和分钟date('i'); 通过AJAX传递给 我不确定是否有一个特定的函数可以根据偏移量给出当前的小时数和分钟数,或者有一个实际的方法来设置基于偏移量的时区(如果有效,将会应用DST) 。 我一直在search和search谷歌find一个答案,但我所做的更具体,因为已经应用了DST。 我发现PHP.net上的一个函数似乎有效(它适用于我的时区并返回正确的时间),虽然对于其他时区(如PST),即使偏移量正确,它也会在1小时后返回-07:00与DST)。 从function返回的时区是Chile/EasterIsland ,我有一个感觉是原因。 如果可以的话,我会让这只对美国有用,但我确实需要它在全世界。 这是我现在的function。 请原谅非常混乱的代码。 在过去的几个小时里,我一直在玩弄很多东西,试图找出一个解决scheme。 大部分的function都是在网上find的。 function offsetToTZ($offset) { switch((string) $offset) { case '-04:30' : return 'America/Caracas'; break; case '-03:30' : return 'Canada/Newfoundland'; break; case '+03:30' : return 'Asia/Tehran'; break; case '+04:30' : return 'Asia/Kabul'; break; […]
遇到了邮件应该从具有自签名证书的邮件服务器发送的问题,我得到的错误是: PHP Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in class.smtp.php on line 327. 有没有人遇到类似的东西? 编辑: 我也尝试设置stream_context params(params: SSL上下文选项 ): $options['ssl']['verify_peer'] = false; $options['ssl']['verify_peer_name'] = false; $options['ssl']['allow_self_signed'] = true; 没有运气,它仍然失败,与上面指出的相同的错误。 谢谢。
说我有一个string进来, "2007-02-28"年2月28日"2007-02-28" ,什么是最简单的代码,我可以写成"2007-03-01" ? 现在我只是使用strtotime() ,然后添加24*60*60 ,然后使用date() ,但只是想知道是否有一个更干净,更简单,或更聪明的方式来做到这一点。
那么我知道混淆是一个坏主意。 但是我希望我所有的HTML代码都能在一条长长的单行内完成。 所有的html标签都是通过PHP生成的,所以我认为它是可能的。 我知道从正则expression式中replace\n\r ,但不知道如何做到这一点。 如果我不清楚这里是一个例子 $output = '<p> <div class="title">Hello</div> </p>'; echo $output; 要在源代码查看器中查看<p><div class="title">Hello</div></p>
我在混合的HTML和PHP中工作了很多,大部分时间我只是想要一些带有PHPvariables的纯HTML,所以我的代码如下所示: <tr><td> <input type="hidden" name="type" value="<?php echo $var; ?>" ></td></tr> 这是相当丑陋的。 是不是有更短的东西,更像以下? <tr><td> <input type="hidden" name="type" value="$$var" ></td></tr> 这是可能的,但你卡住了"" (你必须全部用''replace),布局不见了 echo "<tr><td> <input type="hidden" name="type" value="$var" ></td></tr>" 有更好的吗?
最近我遇到了几种语言的错误/function。 我有一个非常基本的知识,它是如何引起的(我想要一些详细的解释),但是当我想到我多年来一直想要的所有错误时,问题是我怎样才能确定“ 嘿,这可能会导致一个riddiculous的错误,我最好使用任意的精度函数 “,其他语言有这个错误(和那些谁不, 为什么 )。 另外,为什么0.1 + 0.7这样做,即0.1 + 0.3没有,还有其他众所周知的例子吗? PHP //the first one actually doesn't make any sense to me, //why 7 after typecast if it's represented internally as 8? debug_zval_dump((0.1+0.7)*10); //double(8) refcount(1) debug_zval_dump((int)((0.1+0.7)*10)); //long(7) refcount(1) debug_zval_dump((float)((0.1+0.7)*10)); //double(8) refcount(1) python: >>> ((0.1+0.7)*10) 7.9999999999999991 >>> int((0.1+0.7)*10) 7 使用Javascript: alert((0.1+0.7)*10); //7.999999999999999 alert(parseInt((0.7+0.1)*10)); //7 ruby: >> […]
我正在使用简单的文件下载脚本: if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit; } 它正在我的本地服务器高达200MB。 当我在我的网站尝试这个代码时,下载173KB而不是200MB的文件。 我检查了一切,写了一些自定义代码(使用ob函数和fread而不是readfile),但不能下载大文件。 谢谢你的回答。 我使用的是Apache 2.2,PHP 5.3 所有处理大文件的PHP设置都可以。 (执行时间,内存限制,…
我需要用一个cookie在两个不同的域之间共享SSO信息,这可以用PHP来完成吗?