我如何得到给定string的每个单词的第一个字母? $string = "Community College District"; $result = "CCD"; 我find了JavaScript方法,但不知道如何将其转换为PHP。
可能重复: 如何在PHP中创build逗号分隔列表中的数组? 我的数组看起来像这样: Array ( [0] => lorem [1] => ipsum [2] => dolor [3] => sit [4] => amet ) 如何将其转换为像这样的string与PHP? $string = 'lorem, ipsum, dolor, sit, amet';
注意: MCrypt支持依赖的库尚未更新,MCrypt不再被认为是可行或安全的数据encryption方法。 更重要的是,MCrypt已经在PHP 5中被弃用,并且完全在PHP 7中被移除。如果你有任何运行MCrypt的代码,你应该重构它以使用更现代的encryption库。 有没有人知道为什么这个错误消息:( (Call to undefined function mcrypt_encrypt() )显示时,我运行下面的代码? 我错过了一些步骤,也许PHP的任何设置,我必须做这个代码才能工作? $key = 'password to (en/de)crypt'; $string = 'string to be encrypted'; $test = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)));
我有各种各样的数组将包含 story & message 要不就 story 我将如何检查数组是否包含故事和消息? array_key_exists()仅查找数组中的单个键。 有没有办法做到这一点?
我正在维护为PHP 5.2编写的库,我想创buildPHP 5.3的命名空间版本。 不过,我也会保持非命名空间的版本,直到PHP 5.3变得如此之久,甚至Debian稳定版本才能运行;) 我有相当干净的代码,约80个类Project_Directory_Filename命名scheme(我会改变他们\Project\Directory\Filename当然),只有less数的函数和常量(也带有项目名称的前缀)。 问题是:并行开发名称空间和非名称空间版本的最佳方法是什么? 我应该只是在仓库中创build分叉,并保持合并分支之间的变化? 是否有反斜杠代码变得难以合并的情况? 我应该编写脚本,将5.2版本转换为5.3,反之亦然? 我应该使用PHP标记器吗? sed ? C预处理器? 有没有更好的方法来使用名称空间,并保持与旧版本PHP的向后兼容性? 更新: 决定不要使用命名空间 。
在使用PHP的DOM类(DOMNode,DOMEElement等)时,我注意到它们拥有真正的只读属性。 例如,我可以读取DOMNode的$ nodeName属性,但是我不能写入它(如果我做PHP会引发致命错误)。 我如何在PHP中创build自己的只读属性?
我正在为PHP中的应用程序编写一个RESTful API模块,在动词HEAD和OPTIONS上我有点混杂。 OPTIONS用于检索给定资源的可用HTTP动词? HEAD用于确定给定资源是否可用? 如果有人能澄清*这些动词,那将是非常感激。 *澄清是关于重用HTTP动词的RESTful API体系结构。 我已经认识到HEAD和OPTIONS不应该被重新使用,而是像任何HTTP应用程序那样performance可预测性。 哦,2年后我们如何成长。
我的网站的合法用户偶尔会通过API请求攻击服务器,导致不良结果。 我想每隔5秒发一个API调用或每分钟n个调用一个限制(还没有计算出确切的限制)。 我显然可以logging数据库中的每个API调用,并对每个请求进行计算,看看它们是否超出限制,但所有这些额外的开销,每一个请求都将失败的目的。 还有哪些其他资源密集型的方法可以用来制定一个限制? 我正在使用PHP / Apache / Linux,它是值得的。
我正在阅读本教程的一个简单的PHPlogin系统 。 最后,build议您使用md5()encryption密码 。 虽然我知道这是一个初学者的教程,你不应该把银行账单放在这个login系统后面,这让我想到了encryption。 所以我继续前进(本网站对新手最有用的问题之一): 开发者在build立公共网站之前应该知道什么? 那里说(安全)你应该: encryption哈希和盐密码,而不是将其存储为纯文本。 它没有多说这个,没有提及。 所以我自己去尝试一下: $pass = "Trufa"; $enc = md5($pass); echo $enc; #will echo 06cb51ce0a9893ec1d2dce07ba5ba710 这就是让我思考的问题,虽然我知道md5()可能不是最强的encryption方式,但是总是产生相同结果的任何东西都可以被反向devise。 那么用md5()或其他方法encryption某些东西有什么意义呢? 如果黑客获得用md5()encryption的密码, 他只会使用这个页面! 。 所以现在的实际问题是: 密码encryption如何工作? 我知道我没有在这里发现一个巨大的网页漏洞! :)我只是想了解密码encryption背后的逻辑。 我敢肯定,我正在理解一些错误的东西,并希望能够帮助我设定我和其他人(我希望)。 你将如何应用密码encryption,这实际上是有用的? 这个主意呢? 正如我所说,我可能将整个想法弄错了,但是,这种方法是否会增加安全性以保护真实环境? $reenc = array( "h38an", "n28nu", "fw08d" ); $pass = "Trufa"; $enc = chunk_split(md5($pass),5,$reenc[mt_rand(0,count($reenc)-1)]); echo $enc; 正如你所看到的,我随机添加了任意string( $reenc = array() )给我的md5()密码“使其唯一”。 […]
有没有好的理由不把PHP的configurationvariablesmax_execution_time为0? 一位同事最近检查了一个文件的变化,补充说: ini_set('max_execution_time', 0); 在将输出返回给用户之前,进行一些复杂处理的页面的默认值太低。 手册指出,设置的主要目的是: 防止写得不好的脚本捆绑服务器。 但是还要指出: 您的Web服务器可以有其他超时configuration,也可能会中断PHP的执行。 Apache有一个Timeout指令,IIS有一个CGI超时函数。 两者默认为300秒。 有关具体详情,请参阅您的Web服务器文档 我们正在Apache下运行,以便超时设置适用。 是否有任何理由不把max_execution_time全局设置为零? 我主要好奇的是,如果没有将其设置为零,我是否可以忽略这些好处。