Tag: PHP的

如何从PHPstring中的字符中删除重音符号?

我试图删除PHPstring中的重音符号作为使string在URL中可用的第一步。 我使用下面的代码: $input = "Fóø Bår"; setlocale(LC_ALL, "en_US.utf8"); $output = iconv("utf-8", "ascii//TRANSLIT", $input); print($output); 我期望的输出将是这样的: F'oo Bar 但是,而不是重音字符音译,他们被replace为问号: F?? B?r 我可以在网上find的一切都表明,设置语言环境将解决这个问题,但是我已经在做这个。 我已经检查了以下细节: 我所设置的语言环境受服务器支持(包含在由locale -a生成的列表中) 服务器的iconv版本(包含在由iconv -l生成的列表中)支持源和目标编码(UTF-8和ASCII) inputstring是UTF-8编码(使用PHP的mb_check_encoding函数validation,正如mercator的答案中所build议的那样) 对setlocale的调用是成功的(它返回'en_US.utf8'而不是FALSE ) 问题的原因: 服务器正在使用iconv的错误实现。 它有glibc版本,而不是所需的libiconv版本。 请注意,某些系统上的iconvfunction可能无法按预期工作。 在这种情况下,安装GNU libiconv库是个好主意。 这很可能会以更一致的结果结束。 – PHP手册对iconv的介绍 有关PHP使用的iconv实现的细节包含在phpinfo函数的输出中。 (我无法用正确的iconv库重新编译我正在为这个项目工作的服务器上,所以下面我接受的答案是最有用的去除不带iconv支持的口音。)

PHP的json_encode编码数字作为string

我有一个PHP的json_encode函数的问题。 它将数字编码为string,例如 array('id' => 3) 变 "{ ["id": "3", …) 当js遇到这些值时,它将它们解释为string,并且数字操作失败。 有没有人知道一些方法来防止json_encode作为string编码数字? 谢谢!

PHP合并function?

许多编程语言都有一个合并函数(返回第一个非NULL值, 例如 )。 PHP,可悲的是,不。 什么是在PHP中实现一个好的方法?

优胜美地/ El Capitan php-gd + mcrypt安装

如何在Yosemite 10.10中安装/启用php-gd和mcrypt – PHP 5.5.14 build? 请注意以下步骤安装最新的PHP 5.5.x 要检查您是否安装了gd和mcrypt,请使用$ php -m以模块forms编译,如果缺less所需的模块,请继续阅读已接受的答案 。 GD 所以,苹果公司安装了GD(而且你正在使用他们的PHP版本,这很好),但是不包括对PNG的支持。 如果缺lessimagecreatefrompng()函数,你肯定会缺less“full” gd(带有png支持)模块。 "Call to undefined function imagecreatefrompng()" 这个Mcrypt 使用接受的答案安装brew,并使用gd安装省略部分(除非您需要),并使用以下步骤: 做search – $ brew search mcrypt select你想要的PHP版本 安装 – $ brew install php55-mcrypt 确认使用$ php -m | grep mcrypt $ php -m | grep mcrypt 想要在PHP版本之间切换? 检查brew-php-switcher并按照说明进行操作。

用PHP获取原始URL referer?

我正在使用$_SERVER['HTTP_REFERER']; 得到引用者Url。 它按预期工作,直到用户单击另一个页面,引用者更改为最后一页。 我如何存储原来的推荐Url?

PHP致命错误:调用未定义的函数json_decode()

Apache正在loggingPHP Fatal error: Call to undefined function json_decode() 。 一些谷歌search后,似乎这个问题是没有最新版本的PHP的结果。 奇怪的是,运行php –version输出 PHP 5.5.1-2+debphp.org~precise+2 (cli) (built: Aug 6 2013 10:49:43) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies with Zend OPcache v7.0.2-dev, Copyright (c) 1999-2013, by Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans 清楚地显示我的php版本是大于5.1 。 […]

MySQL查询String包含

我一直想弄清楚如何使用MySQL来查询某个列中的值(string $haystack )是否包含某些数据(string$needle ),如下所示: mysql_query(" SELECT * FROM `table` WHERE `column`.contains('{$needle}') "); 在PHP中,这个函数被称为substr($haystack, $needle) ,所以也许: WHERE substr(`column`, '{$needle}')=1

phpMyadmin中的最大执行时间

当我尝试执行(一些)在phpMyadmin查询我得到这个错误 致命错误:在线140上的C:\ xampp \ phpmyadmin \ libraries \ dbi \ mysql.dbi.lib.php中超过了60秒的最大执行时间 因为我有一个非常大的表(超过9百万logging) 我编辑了文件C:\ xampp \ php \ php.ini 并将“最大执行时间”的值从60更改为1000,然后重新启动PHP并仍然有相同的错误。 任何解决scheme

你可以在PHP中dynamic创build实例属性吗?

有什么办法来dynamic创build所有的实例属性? 例如,我希望能够在构造函数中生成所有属性,并且在类实例化后仍然可以访问它们: $object->property 。 请注意,我想单独访问属性,而不是使用数组; 这里是我不想要的一个例子: class Thing { public $properties; function __construct(array $props=array()) { $this->properties = $props; } } $foo = new Thing(array('bar' => 'baz'); # I don't want to have to do this: $foo->properties['bar']; # I want to do this: //$foo->bar; 更具体地说,当我处理具有大量属性的类时,我希望能够select数据库中的所有列(代表属性)并从中创build实例属性。 每个列值应该存储在一个单独的实例属性中。

PHP mkdir:权限被拒绝的问题

我试图创build一个PHP mkdir函数的目录,但我得到一个错误,如下所示: Warning: mkdir() [function.mkdir]: Permission denied in … 如何解决这个问题?