Tag: PHP的

PHP中的iconv()和mb_convert_encoding()有什么区别?

PHP中的iconv()和mb_convert_encoding()什么区别? 一个人performance更好,更快等(如使用特定的编码)? 在什么情况下会比另一个更受欢迎? 这是我认为我已经知道的: 的iconv() 包含在大多数PHP的安装中。 当找不到映射到新字符集的字符时,可以指定是否将其转换为“相似”字符,或者忽略。 mb_convert_encoding() 通常需要安装php-mbstring扩展名。 能够处理HTML-ENTITIES ,转换为网页hex代码。 还有其他的区别吗?

CodeIgniter会话vs PHP会话

我对CodeIgniter比较陌生,正在做我的第一个CI项目,其中有用户帐户等等。过去,我一直使用PHP的$ _SESSIONvariables来达到这个目的。 然而,CI似乎有自己的会话机制,它声称是“更好” CI的会话机制似乎将所有数据存储在cookie中? 就我个人而言,我喜欢所有数据存储在服务器上的想法,通过像PHP本地会话机制这样的cookie密钥访问…我是否认为这样更好? 我应该接受CI的机制吗? 还是应该继续使用本机PHP会话? 你们做什么? 谢谢, 马拉

PHP名称空间是否可以包含variables?

PHP名称空间是否可以包含variables? 如果是这样,那怎么能做到呢?

解决scheme:此表格不包含唯一列。 网格编辑,checkbox,编辑,复制和删除function不可用

这不是一个问题,而是我发现自己产生的问题/问题和解决scheme。 我认为这将是分享的礼貌,因为没有一个完整的工作解决scheme,我可以find。 在phpMyAdmin中产生的错误是: “此表格不包含唯一的列,网格编辑,checkbox,编辑,复制和删除function不可用。” 有几种工作解决scheme取决于您的具体情况。 例如,只要所有AI或唯一标识符字段都是唯一的,那么您可以简单地修改表格并确保这是主键并设置为唯一值。 我用我的一张桌子上的解决scheme解决了这个问题。 另一个表具有多个作为主字段的AI int值,但有多个相同types的值。 这个简单的解决方法是在表的最后添加一列作为Unique AI Int。 基本上所有的MySQL都在说每个logging需要一个唯一的值来区分行。 希望这是有帮助的。

如何开发和包含一个Composer软件包?

我正在寻找在PHP中开发一个包,但我不希望它立即可用在GitHub或某处。 在我的composer.json包含一个Packagist文件是很容易的,但是如何将一个本地包添加到我的composer.json ? 另外,我应该在/vendor/foo/bar (相对于根composer.json )中构build软件包,还是应该把它放在别的地方? 编辑 :我想我的问题是关于其他人如何写他们的软件包。 是否每个新软件包都被添加到Packagist中,然后当你想testing你的修改时,你提交给GitHub(或者任何地方),然后通过Composer把它们拉回来? 这看起来效率很低。

如何在负载均衡群集中使用PHP会话?

好的,所以我已经得到了这个完全罕见的负载平衡的PHP网站的独特场景。 令人沮丧的是 – 它并没有用来平衡负载。 现在我们开始发现问题了 目前唯一的问题是PHP会话。 自然没有人想到这个问题,所以PHP会话configuration保持其默认。 因此,这两个服务器都有自己的一小撮会话文件,不幸的是获取下一个请求的用户被抛出到另一个服务器上,因为他没有在第一个服务器上创build的会话。 现在,我已经阅读了PHP手册了解如何解决这种情况。 在那里我find了session_set_save_handler()的很好的function。 (巧合的是, 这个话题就这么 )整洁。 除了我必须在网站的所有页面上调用这个函数。 未来页面的开发人员也必须记得随时调用它。 感觉有点笨拙,更不用说可能违反了一打最好的编码做法。 如果我可以翻转一些全局configuration选项和Voilà – 会话全部被神奇地存储在一个数据库或一个内存caching或其他东西中,那将会更好。 任何想法如何做到这一点? 补充:澄清 – 我希望这是一个标准的解决scheme的标准情况。 仅供参考 – 我有一个MySQL数据库可用。 一定有一些现成的代码可以解决这个问题吗? 当然,我可以编写我自己的会话保存的东西和Greg指出的auto_prepend选项似乎很有前途 – 但是这将感觉重新发明轮子。 :P 新增2:负载均衡是基于DNS的。 我不知道这是如何工作,但我想这应该是这样的 。 添加3:好的,我看到一个解决scheme是使用auto_prepend选项插入到每个脚本session_set_save_handler()的调用,并写我自己的数据库持久化,也许投入调用memcached更好的性能。 很公平。 是否还有一些方法可以避免自己编码? 就像一些着名且经过充分testing的PHP插件一样? 添加了很多,后来:这是我最后的方式: 如何在PHP + MySQL中正确实现自定义会话持久化? 另外,我只是将会话处理程序手动包含在所有页面中。

DirectoryIterator和FileSystemIterator之间的区别

PHP 5引入了DirectoryIterator ,而PHP 5.3引入了FileSystemIterator 。 FileSystemIterator扩展DirectoryIterator ,但文档没有说明它带来了什么额外的function。 你能告诉DirectoryIterator和FileSystemIterator的区别吗?

确定URL是否是PHP中的图像的最佳方式

使用PHP,给定一个URL,我怎样才能确定它是否是一个图像? 没有URL的上下文 – 它只是在纯文本文件的中间,或者可能只是一个string本身。 我不想要很高的开销(例如读取URL的内容),因为这可能会被调用一个页面上的许多URL。 考虑到这个限制,所有的图像都被识别并不是必须的,但我想要一个相当好的猜测。 目前我只是看文件扩展名,但感觉应该有比这更好的方法。 这是我目前有: function isImage( $url ) { $pos = strrpos( $url, "."); if ($pos === false) return false; $ext = strtolower(trim(substr( $url, $pos))); $imgExts = array(".gif", ".jpg", ".jpeg", ".png", ".tiff", ".tif"); // this is far from complete but that's always going to be the case… if ( in_array($ext, $imgExts) […]

消费我自己的Laravel API

我正在开发一个Laravel 4应用程序,它将通过JSON REST API和Web UI对我的数据集进行相同的CRUD操作。 看来,为了防止打破DRY的原则,我的用户界面应该消耗我自己的API通过路由从UI的所有请求回到API。 我不确定这个工作的最佳方法。 据推测,我会分开的用户界面和API控制器,并以某种方式路由请求通过。 或者我应该一起看一个不同的方法? 谢谢。

什么是适合JavaScript文件的内容types标题?

我正在从PHP文件提供JS响应。 在设置Content-Type标题时,应该使用application/javascript还是text/javascript ? 两者有什么区别?