Tag: PHP的

告诉僵尸程序与人类游客分开的数据?

我期待推出我自己的简单的网站统计脚本。 就我所知,路上唯一的主要障碍就是让人类的游客远离僵尸。 我想有一个解决scheme,我不需要定期维护(即我不想更新与bot相关的用户代理文本文件)。 有没有这样的开放式服务,就像Akismet的垃圾邮件? 还是有一个PHP项目,致力于识别蜘蛛和机器人,并提供频繁的更新? 澄清:我不想阻止机器人。 我不需要100%水密的结果 。 我只想从我的数据中尽可能地排除。 在知道parsing用户代理是一个选项,但维护模式parsing是很多工作。 我的问题是,是否有任何项目或服务已经这样做。 赏金:我想我会推这个作为这个话题的参考问题。 最好的/最原始的/技术上最可行的贡献将获得赏金金额。

PHP与模板引擎

我目前正在讨论PHP作为模板引擎与PHP之上的模板引擎之间的select。 你select什么,为什么? 我说为什么使用另一个模板引擎时,PHP是一个模板引擎本身。

生成随机的5个字符的string

我想创build确切的5个随机string,最不可能重复。 什么是最好的办法呢? 谢谢。

以正确的方式创buildJSON对象

我想创build一个PHP数组中的JSON对象。 数组看起来像这样: $post_data = array('item_type_id' => $item_type, 'string_key' => $string_key, 'string_value' => $string_value, 'string_extra' => $string_extra, 'is_public' => $public, 'is_public_for_contacts' => $public_contacts); 编码JSON的代码如下所示: $post_data = json_encode($post_data); JSON文件最终应该是这样的: { "item": { "is_public_for_contacts": false, "string_extra": "100000583627394", "string_value": "value", "string_key": "key", "is_public": true, "item_type_id": 4, "numeric_extra": 0 } } 我如何将创build的JSON代码封装在“item”中:{JSON代码在这里}。

在PHP 5.4中禁用严格的标准

我目前正在php 5.4上运行一个站点,在此之前我正在5.3.8上运行我的站点。 不幸的是,php 5.4结合了E_ALL和E_STRICT ,这意味着我以前的error_reporting设置现在不起作用。 我以前的值是E_ALL & ~E_NOTICE & ~E_STRICT我应该只是一次启用一个值? 我有太多的错误和文件包含太多的代码,我要修复。

如何有效地find一个给定位置附近最近的位置

我正在做一个脚本,一个负载的业务加载到一个经度和纬度的MySQL数据库。 然后,我提供该脚本的经度(最终用户的经度),脚本必须计算从提供的经纬度到从数据库获得的每个条目的距离,并按照距离最近的顺序对它们进行sorting。 我只实际需要大约10或20个“最接近”的结果,但我不能想到,除了从数据库中获取所有结果并在每个结果上运行函数,然后进行数组sorting之外,无法做到这一点。 这是我已经: <?php function getDistance($point1, $point2){ $radius = 3958; // Earth's radius (miles) $pi = 3.1415926; $deg_per_rad = 57.29578; // Number of degrees/radian (for conversion) $distance = ($radius * $pi * sqrt( ($point1['lat'] – $point2['lat']) * ($point1['lat'] – $point2['lat']) + cos($point1['lat'] / $deg_per_rad) // Convert these to * cos($point2['lat'] / $deg_per_rad) // radians […]

如何使PDO运行SET NAMES utf8每次连接时,在ZendFramework中

如何使PDO适配器每次连接时运行SET NAMES utf8,在ZendFramework中。 我正在使用INI文件来保存适配器configuration数据。 我应该在那里添加什么条目? 如果不清楚,我正在寻找正确的语法,在我的项目的config.ini文件中,而不是在php代码中,因为我认为这部分的configuration代码。

缩放聊天应用 – 短轮询与长轮询(AJAX,PHP)

我运行一个网站,用户可以通过浏览器相互聊天(想想Facebook聊天)。 处理现场互动的最佳方式是什么? (现在我每30秒钟进行一次民意调查,以更新在线用户和新的传入消息,而另一项民意调查则每隔一秒在聊天页面上获取新消息。) 我考虑过的事情: HTML5networking套接字:没有使用它,因为它不适用于所有的浏览器(只有铬)。 Flash套接字:没有使用这个,因为我想最终支持移动networking。 现在,我正在使用短轮询,因为我不知道如何可伸缩的AJAX长轮询。 我现在从servint运行VPS服务器(运行Apache)。 我应该使用长轮询还是短轮询? 我不需要绝对即时的响应时间(只是对于一个聊天应用程序“足够好”)。 有几十万用户会经常杀这个服务器吗? 我如何扩展这个,请帮助!

.htaccess问题:没有指定input文件

有人可以帮我弄这个吗。 我感觉好像我已经撞了我的头靠墙超过2小时了。 我已经在我的机器上安装了Apache 2.2.8 + PHP 5.2.6,下面的代码使用.htacces工作正常,没有错误。 RewriteEngine on RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico) RewriteRule ^(.*)$ /index.php/$1 [L] 我的托pipe服务提供商服务器上的相同的代码给我一个404错误代码和输出只:没有input文件指定。 index.php在那里。 我知道他们已经安装了Apache(无法在任何地方find版本信息),他们正在运行PHP v5.2.8。 我在Windows XP 64位,他们正在运行一些Linux在CGI / fastcgi模式下的PHP。 任何人都可以build议可能是什么问题? PS。 如果这对CodeIgniter使用友好的URL很重要。 UPDATE1: mod_rewrite已经安装好了。 我注意到的是,如果我将RewriteRule更改为/index.php?$1(问号而不是正斜杠),它会进入无限循环。 无论如何,使用问号不是一个选项CodeIgniter(必需)不会这样工作。 当我直接请求index.php时,主页也可以工作:example.com/index.php 我开始认为它可能是apache认为一旦尾部的斜杠添加它不是一个文件了,而是一个文件夹。 如何改变这样的行为? 更新2: 我错了。 Apache正确处理这些url。 请求http://example.com/index.php/start/ (主页)或任何其他有效的地址工作。 似乎Apache只是由于某种原因不转发查询。 更新3: 只是要清楚我想要达到什么。 我想重写这样的地址: http://www.example.com/something/ => http://www.example.com/index.php/something/ http://www.example.com/something/else/ => http:// www.example.com/index.php/something/else/

来自PHP的电子邮件已破坏主题头编码

我的PHP脚本发送电子邮件给用户,当电子邮件到达他们的邮箱时,主题行( $subject )具有添加到我的主题文本末尾的字符。 这显然是编码问题。 电子邮件内容本身很好,只是主题行被打破。 我已经搜遍了,但无法find如何正确编码我的主题 。 这是我的标题。 请注意,我正在使用Content-Type和charset=utf-8和Content-Transfer-Encoding: 8bit 。 //set all necessary headers $headers = "From: $sender_name<$from>\n"; $headers .= "Reply-To: $sender_name<$from>\n"; $headers .= "X-Sender: $sender_name<$from>\n"; $headers .= "X-Mailer: PHP4\n"; //mailer $headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal $headers .= "MIME-Version: 1.0\n"; $headers .= "X-MSMail-Priority: High\n"; $headers .= "Importance: 3\n"; $headers .= "Date: […]