存档

‘PHP’ 分类的存档

PHP+飞信实现免费定时发送天气预报短信

2009年7月23日 12 条评论

众所周知,用飞信可以免费给好友发送手机短信.前几天,我在PHPChina的论坛上看到了Hellex写的” Fetion class v0.1”,于是便产生了利用飞信实现免费天气预报短信的想法.

具体的实现方法是:
1.解析中国气象网的天气预报,用正则表达式,从中提取相关天气信息.
2.利用系统自带的计划任务,定时运行程序,发送短信.

源码下载:weather.zip
注:PHP需要支持libcurl
update1:修改了weather.php,修复了不同时段取天气数据出错的问题.(2009-07-24更新)
update2:修改了weather.php,修复了由于天气预报网页改版,取数据出错的问题.(2009-10-16更新)
update3:修改了weather.php,采用其他方式获取json格式的天气预报,php必须支持json_decode函数.(2009-11-08更新)

这里主要说一下如何用计划任务实现定时运行.

在windows环境的实现方法:
1.    在记事本中输入以下内容,保存为.bat扩展名的文件:
@ echo off
C: \php\php D: \ weather \weather.php
exit

其中, C: \php\php为php.exe所在的完整路径(.exe省略了), D: \ weather \weather.php为天气预报程序的完整路径.
2.    以 windows server 2003为例:
在控制面板中, 双击”任务计划”,运行任务计划程序;
然后再双击”添加任务计划”,弹出”任务计划向导窗口”;
点击”下一步”后,会出现程序列表,点击”浏览”,定位到上一步建立的程序,然后再点击”下一步”;
再选择执行该任务的时间(每天),然后再点击”下一步”;
将任务运行的起始时间和日期中设置为每天的18:00,再点击”下一步”;
然后再输入系统用户名和密码,点击”下一步”,即可完成任务计划向导.

在linux环境的实现方法(这里以DreamHost虚拟主机为例):
1.    通过FTP将程序上传到DreamHost的空间中.
2.    进入DreamHost的Web Panel,点击左侧中的”Cron Jobs”.
3.    点击”Add New Cron Job”,打开设置页面.
4.    在user中选择可以访问该程序的SSH帐号,Title任意输入,在”Command  to run”中输入以下内容:

/dh/cgi-system/php5.cgi /home/username/mydomain.com/weather.php

其中: /dh/cgi-system/php5.cgi为php5.cgi的完整路径, /home/username/mydomain.com/weather.php为该天气预报程序的完整路径,username为该空间的FTP帐号, mydomain.com/weather.php为该文件的完整路径(均可以通过php像个函数查询得到).

5.    在”When to run”的下拉框中,选择”Custom”(自定义).
6.    如果需要在每天傍晚18:00发送一次,可以在Minutes的下拉框中选择”Selected Minutes”,然后选择”00”(按住ctrl可以多选),在Hours的下拉框中选择”Selected Hours”,然后选择”03”(Dreamhost服务器时间和北京时间相差15小时,03相当于北京时间18点,按住ctrl可以多选),其他保持默认.
7.    设置完成后,点击”Add”即可完成设置.

至于具体的php代码实现,可以参考上面的源代码压缩包,均带有注.在这里感谢Hellex提供的 Fetion class.

update2:修改了weather.php,修复了由于天气预报网页改版,取数据出错的问题.(2009-10-16更新)
分类: PHP 标签: ,

完善CodeIgniter在IDE中的代码提示

2009年6月4日 1 条评论

点击此处下载:ci_var.rar

解压后,复制文本文件中的内容,将其添加到[CI路径]/system/libraries目录:Controller.php和Model.php中类声明的开始处(即 ‘class Controller extends CI_Base{‘ 和 ‘class Model{‘之后).

在Zend Studio for Eclipse – 6.1.2中的效果图:

ci_1

ci_2

ci_3

DreamHost:自定义php.ini

2009年5月25日 1 条评论

不说废话,直接进入正题:

1.首先,我们需要一个SSH帐号:进入DreamHost的Web Panel,点击左侧的”Users – Manage Users”,选择需要自定义php配置的站点的FTP用户名对应的”Edit”链接,在”User Account Type”中,勾选” Shell account – allows SFTP/FTP plus ssh access.”,然后点击”Save Changes”保存.

2.推荐使用”PuTTY”作为SSH客户端工具,点击此处下载.将下载来的压缩包解压,运行其中的PuTTYPortable.exe,将会打开配置窗口:
putty

在”Host Name(or IP address)”中,输入FTP服务器地址,其他保持默认.如果你要保存该配置,点击”Save”按钮即可保存,下次运行时,双击保存的配置名称即可连接到对应的服务器.

3.相关信息填写好之后,点击”Open”按钮开始连接,连接成功后,当出现”login as:”的提示符后,输入之前设置的用户名,然后回车,将会提示输入密码,输入对应的密码(注意:输入密码时屏幕没有对应的*号提示),再按回车,如果密码不正确,将会提示重新输入.如果登录成功,会出现如下提示:
ssh

4. 在”$”后输入如下信息(“↓”表示回车,下同):

mkdir $HOME/example.com/cgi-bin↓

注意:把example.com替换为站点的目录名,下同.

5. 再输入:

cp /etc/php5/cgi/php.ini $HOME/example.com/cgi-bin/php.ini↓

6.再输入:

cat << EOF > $HOME/example.com/cgi-bin/php-wrapper.cgi↓
#!/bin/sh↓
exec /dh/cgi-system/php5.cgi $*↓
EOF↓

7.设置目录和文件权限(也可以登录FTP设置,如果用FTP设置,可跳过此步骤),输入:

chmod 755 $HOME/example.com/cgi-bin↓
chmod 755 $HOME/example.com/cgi-bin/php-wrapper.cgi↓
chmod 640 $HOME/example.com/cgi-bin/php.ini↓

8.以上操作完成后,输入exit并回车或者点击右上角的关闭按钮即可关闭SSH客户端.

9.创建.htaccess文件:
用任意文本编辑器输入以下内容后,保存为文件名为” .htaccess”的文件,上传至网站根目录.

Options +ExecCGI
AddHandler php5-cgi .php
Action php-cgi /cgi-bin/php-wrapper.cgi
Action php5-cgi /cgi-bin/php-wrapper.cgi

10.至此,相关设置已经完成,修改网站根目录下cgi-bin文件夹中的php.ini文件即可自定义php配置.

解除PHP操作SQL Server数据库时对text字段长度的限制

2009年5月5日 没有评论

PHP在操作SQL Server数据库时,只能发送4096B的字符,如果按照这个设置,在发布一些内容比较长的信息时,会导致信息不全,因此,需要修改php.ini中相关的设置:

如果不知道php.ini保存的位置,请新建一个php文件,内容如下:

<?php
phpinfo();
?>

将这个php文件上传到服务器,用浏览器打开,在Configuration File (php.ini) Path中显示的就是php.ini所在的位置.

用任意文本编辑器打开php.ini,

找到
;mssql.textlimit = 4096
改为
mssql.textlimit = 2147483647

找到
;mssql.textsize = 4096
改为
mssql.textsize = 2147483647

保存后,重新启动WWW服务,该设置即可生效.

分类: PHP 标签:
SEO Powered by Platinum SEO from Techblissonline
Get Adobe Flash player