我正在尝试使用Totorialzine的源代码来创build一个捐赠中心。 到目前为止,这一切对我来说都很好,但是唯一的问题是我一直在努力尝试着看一整天,而不能准确地确定代码的真正错误 当我的访客捐赠时,我在页面上提交评论的时候,这是我得到的。 Fatal error: Call to undefined function mb_strlen() in /home/yoursn0w/public_html/livetv/premium/thankyou.php on line 14 这里是php文件中的代码。 <?php require "config.php"; require "connect.php"; if(isset($_POST['submitform']) && isset($_POST['txn_id'])) { $_POST['nameField'] = esc($_POST['nameField']); $_POST['websiteField'] = esc($_POST['websiteField']); $_POST['messageField'] = esc($_POST['messageField']); $error = array(); if(mb_strlen($_POST['nameField'],"utf-8")<2) { $error[] = 'Please fill in a valid name.'; } if(mb_strlen($_POST['messageField'],"utf-8")<2) { $error[] = 'Please fill in […]
由于某些原因,我的Symfony 2.5应用程序的标题状态调用了PHP垃圾回收器,即使当我所有的php.ini文件都有: session.gc_probability = 0 有谁知道如何防止这种情况发生? 错误消息即时通讯: Notice: SessionHandler::gc(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) in /<path-to-my-site>/var/cache/dev/classes.php line 432 FROM PHPINFO(): Directive Local Value Master Value session.gc_divisor 1000 1000 session.gc_maxlifetime 86400 86400 session.gc_probability 0 0 我知道我可以给www / data用户权限/var/lib/php5文件夹或将session.save_path更改为www-data用户已经访问的地方,但是我想知道为什么这个过程是平坦的当它被禁用时被调用。
如何划分数字,但排除在PHP中的剩余部分?
我怎样才能创build一个对象的方法内给定的参数的属性? class Foo{ public function createProperty($var_name, $val){ // here how can I create a property named "$var_name" // that takes $val as value? } } 我希望能够访问像这样的属性: $object = new Foo(); $object->createProperty('hello', 'Hiiiiiiiiiiiiiiii'); echo $object->hello; 也有可能我可以使财产公开/保护/私人? 我知道在这种情况下,它应该是公开的,但我可能想要添加一些magik方法来获得保护属性和东西:) 我想我find了一个解决scheme: protected $user_properties = array(); public function createProperty($var_name, $val){ $this->user_properties[$var_name] = $val; } public function __get($name){ if(isset($this->user_properties[$name]) return $this->user_properties[$name]; […]
我得到错误“类”Imagick“未find”。 不知何故,我需要使这个图书馆访问到PHP。 我在Fedora 8上使用Php 5.2.6。我的php_info没有提及ImageMagick。 我曾尝试:yum安装ImageMagick并重新启动apache,这是行不通的。 我还将extension = imagick.ext添加到了我的php.ini文件中,并重新启动了apache,这没有奏效。
我正在PHP中实现一个REST服务。 这个服务应该能够支持多种input和输出格式(JSON,XML)。 出于这个原因,我想检查客户端发送和请求的内容types的请求头“Accept”和“Content-Type” 。 使用$_SERVER['HTTP_ACCEPT']来访问“Accept”头文件非常简单。 但是访问“Content-Type”标题似乎是一项艰巨的任务。 我search了PHP文档和网页,但是唯一提供的解决scheme是使用PHP函数apache_request_headers() ,它仅在将PHP作为Apache模块安装时才受支持,在我的情况中不是这样。 所以现在我的问题是:如何访问请求的标题“Content-Type”?
我需要插入一个32字段的长行到MySQL表中。 我想要做这样的事情: $sql="insert into tblname values (… 32 fields …)"; 显然,如果这些字段与MySQL表字段的顺序相同,那么它就可以正常工作。 但是,我的表有一个自动递增的ID,因为它是第一个字段。 我想要的是填写所有的表名,但第一个(ID)之一。 build议?
我正在构build一个相当大的Lucene.NETsearchexpression式。 有没有最好的做法,在PHP中的stringreplace? 它不一定是这样,但我希望有类似于C#String.Format方法的东西。 以下是C#中的逻辑。 var filter = "content:{0} title:{0}^4.0 path.title:{0}^4.0 description:{0} …"; filter = String.Format(filter, "Cheese"); 有一个PHP5的等价物吗?
除了标准的面向对象的概念之外,当框架没有被使用时,还有哪些其他策略可以产生良好的,干净的PHP代码?
为什么我不能使用静态方法static(class :: method)的非静态方法? 这是一些configuration问题? class Teste { public function fun1() { echo 'fun1'; } public static function fun2() { echo "static fun2" ; } } Teste::fun1(); // why? Teste::fun2(); //ok – is a static method