Tag: PHP的

PHP号码:小数点只有在需要时才可见

我想知道是否存在一些函数自动格式化一个数字的小数,所以如果我有: <?php // $sql_result["col_number"] == 1,455.75 number_format ($sql_result["col_number"], 2, ".", ""); // will return 1455.75 // $sql_result["col_number"] == 1,455.00 number_format ($sql_result["col_number"], 2, ".", ""); // could I get 1455 instead of 1455.00? ?> 所以我的答案是,如果确实存在某种方式来删除小数,如果我的数据库中有DECIMAL数据只有当它是圆的? 或者我应该做那样的事情? <?php // $sql_result["col_number"] == 1,455.00 str_replace(".00", "", (string)number_format ($sql_result["col_number"], 2, ".", "")); // will return 1455 ?>

如何启用mysqlnd的PHP?

我有PHP安装和运行(版本:5.3.17),我想切换到mysqlnd(在phpinfo mysqlnd根本不存在)。 我读过,为了设置它,你需要更新./configure命令: ./configure –with-mysql=mysqlnd \ –with-mysqli=mysqlnd \ –with-pdo-mysql=mysqlnd \ 当我尝试安装与yum install php-mysqlnd我得到一个错误: —> Package php-mysqlnd.x86_64 0:5.3.17-1.26.amzn1 will be installed –> Processing Conflict: php-mysql-5.3.17-1.26.amzn1.x86_64 conflicts php-mysqlnd –> Finished Dependency Resolution Error: php-mysql conflicts with php-mysqlnd 解: ./configure命令是源代码编译过程的一部分,所以这些步骤是: yum erase php-mysql yum install php-mysqlnd 然后可以检查: php -m | grep mysqlnd 谢谢Sebastian Kessler!

strip_tags()容易受到脚本攻击吗?

是否有一个已知的XSS或其他攻击,使其通过一个 $content = "some HTML code"; $content = strip_tags($content); echo $content; ? 手册有一个警告: 此function不会修改您允许使用allowable_tags的标签上的任何属性,包括恶作剧的用户在发布将显示给其他用户的文本时可能会滥用的样式和onmouseover属性。 但是这与仅使用allowable_tags参数有关。 没有设置允许的标签 , strip_tags()容易受到攻击? Chris Shiflett似乎说这是安全的: 使用成熟的解决scheme 如果可能,请使用成熟的现有解决scheme,而不是尝试创build自己的解决scheme 像strip_tags()和htmlentities()这样的函数是很好的select。 它是否正确? 请尽可能引用来源。 我知道关于HTML净化器,htmlspecialchars()等 – 我不是在寻求最好的方法来消毒HTML。 我只想知道这个具体问题。 这是一个理论上的问题。 参考: PHP源代码中的strip_tags()实现

Doctrine 2 – 在ManyToOne关系的外键上不允许空值

在我的一个实体中有一个ManyToOne关系,如下所示: class License { // … /** * Customer who owns the license * * @var \ISE\LicenseManagerBundle\Entity\Customer * @ORM\ManyToOne(targetEntity="Customer", inversedBy="licenses") * @ORM\JoinColumn(name="customer_id", referencedColumnName="id") */ private $customer; // … } class Customer { // … /** * Licenses that were at one point generated for the customer * * @var \Doctrine\Common\Collections\ArrayCollection * @ORM\OneToMany(targetEntity="License", mappedBy="customer") */ private […]

什么是标题('P3P:CP =“CAO PSA OUR”'); 做?

什么是header('P3P: CP="CAO PSA OUR"'); 对于? 如何/为什么会让这个脚本在IE中正常工作? session_start(); if (!session_is_registered(pre_myusername)) { header("location:index.php"); exit(); }

php.ini:哪一个?

我从我的旧Apache转移到Nginx和PHP 5.3.10。 而当我试图修改php.ini以适应我的需求时,我发现其中有3个: $ locate php.ini /etc/php5/cgi/php.ini /etc/php5/cli/php.ini /etc/php5/fpm/php.ini 我应该编辑哪一个?

PHP / Apache上传文件夹的权限是什么?

抱歉的基本问题 – 我是一个.NET开发人员,并没有太多的LAMP设置经验。 我有一个PHP网站,将允许上传到特定的文件夹。 我被告知,这个文件夹需要由Web服务器用户拥有上传过程才能工作,所以我创build了文件夹,然后设置权限,如下所示: chown apache:apache -R uploads/ chmod 755 -R uploads/ 现在唯一的问题是,FTP用户根本无法修改上传的文件。 是否有一个权限设置,允许我仍然上传文件,然后修改它们以外的用户而不是Web服务器用户?

为什么从__toString()抛出exception是不可能的?

为什么从__toString()抛出exception是不可能的? class a { public function __toString() { throw new Exception(); } } $a = new a(); echo $a; 上面的代码产生这个: Fatal error: Method a::__toString() must not throw an exception in /var/www/localhost/htdocs/index.php on line 12 我被指向http://php.net/manual/en/migration52.incompatible.php这个行为描述,但为什么? 有什么理由要这样做? 可能有人知道这个吗? 在bug跟踪器php-dev-team像往常一样说只是看手册: http : //bugs.php.net/50699

if($ variable)是如何工作的?

可能重复: 关于PHP中的if语句 在PHP脚本中,像这样的if语句检查什么? <?php if($variable){ // code to be executed } ?> 我已经多次看到它在脚本中的使用,现在我真的想知道它“寻找什么”。 这不是什么东西 这只是一个简单的variables里面的if语句…我无法find任何关于这个,任何地方的结果,所以显然我会看起来愚蠢发布这一点。

PHP中的testing驱动开发

我是一个使用PHP开发的Web开发人员。 我在使用C#桌面应用程序中的testing驱动开发方面有一些有限的经验。 在这种情况下,我们使用nUnit作为unit testing框架。 我想开始在新项目中使用TDD,但是我真的不知道从哪里开始。 你对基于PHP的unit testing框架有什么build议?对于TDD概念相当陌生的人来说,有什么好的资源?