【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
【2】Win32下apache2 用get方法传递中文参数会出错:
test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
.............
【3】win32下的session不能正常工作
php.ini默认的session.save_path = /tmp
这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,例如session.save_path = c:windows emp
【4】显示错误信息
当php.ini的display_errors = On并且error_reporting = E_ALL时,将显示所有的错误和提示,调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽。
例如显 ......
今天开始学习PHP,感觉看过就忘了,啥都留不下比较遗憾,就边看边总结了,方便自己以后看,也方便别人快速入门,或者快速复习吧(awen)。
第一部分 搭建平台
1. 可以下载一个php for windows iis 版本 最省劲,直接安装后自动升级iis使其支持php功能。
2. 下载一个phpstudy 软件 ,可以支持php iis 模式 和php Apache 模式。安装后自动安装PHP,mysql数据库,phpmyadmin,openssl,zendoptimizer , eAccelerator,傻瓜式界面设置。
3. 自己下载php,mysql,apenche,自己安装配置,网上教程一大堆自己去查。
以上三种方法随便选。
第二部分PHP语言基础
1. 组成:mysql , php,Apache。mysql与Apache组成的php服务器的好处在于跨平台。
2. php基本语法 <?php …… ?>或者 <script language=“php”></script>。
注释可以用:// 或者 /*……..*/或者unix shell的#
3. php的变量大小写敏感,函数大小写不敏感。
4. 数据类型
integer,float(double或real),Boolean,strin ......
对于初学PHP语言的朋友来说,PHP还有很多东西需要深入的探究。只有在不断的问题处理中才能掌握其中的真挚。什么是PHP无限分类呢?就像windows下新建一个文件夹,在新建的文件夹下又可以新建一个文件夹,这样无限循环下去,无限分类也是这样,父类可以分出它子类,子类又可以分出它的子类,这样一直无限循环下去。
那PHP又是如何实现它的无限分类的呢?如何把它的各个分类一一列出来呢?
首先我们假设有这样的一个三级分类,新闻→PHP新闻→PHP6.0出来了。
如果我们要查找“PHP6.0出来了”这条新闻,我们先点击新闻,然后再点击PHP新闻就可以查出来了,也就是说我们可以通过祖父类一级一级地往下找,反过来我们只要知道一个子类的父类,就可以把它查找出来了。这样我们在设计数据库时就可以多设计一个父类id的字段就可以实现PHP无限分类的功能了。
//我们建一个表"class"
CREATE TABLE `class` (
`id` int(11) NOT NULL auto_increment COMMENT '分类id',
`f_id` int(11) NOT NULL COMMENT '父id',
`name` varchar(25) collate gbk_bin NOT NULL COMMENT '分类名称',
PRIMARY KEY (`id`)
) ENGINE=MyISA ......
<?php
//单例模式的类Lock
class
Lock
{
//静态属性$instance
static
private
$instance
= NULL;
//一个普通的成员属性
private
$switch
= 0;
//getInstance静态成员方法
static
function
getInstance()
{
//如果对象实例还没有被创建,则创建一个新的实例
& ......
总结下本人在日常工作中使用php操作word的一些实战。
方法一:利用php com模块
。也即利用word提供的本地api,所有只适用于windows系统上。
<?php
$word = new com('word.application') or die('无法打开word');
$word->Visiable = false;
$doc_file = '/path/to/doc';
$word->Open($doc_file);
$text = '这段文字将被写到word文档中去';
$word->Selection->TypeText($text);
//保存
$word->ActiveDocument->Save();
//读取内容
$doc_file_contents = $word->ActiveDocument->Content->Text;
//输出word内容
$word->PrintOut();
$word->Close();
?>
利用com连接word,经常无法预期运行成功,目前也不知道是什么原因,暂时靠运气吧。
方法二:利用catdoc。catdoc是linux上的工具,需要自行安装配置。
<?php
//catdoc位置
$cat_doc = '/usr/local/bin/catdoc';
$doc_file = 'this is a doc file';
//读取word文件内容
$doc_file_contents = shell_exec($cat_doc . ' ' . $doc_file);
echo nl2br($doc_file_contents);
?>
更多catdoc的功能,请查阅catdoc文档。
由于catdoc是linux的工具,所以上 ......
1.安装apache2.0
sudo apt-get install apache2
安装后在浏览器中打开:
http://localhost/或者http://127.0.0.1
如果出现It works!,那证明安装成功。
2.安装PHP
sudo apt-get install php
5 //安装PHP
5
sudo apt-get install libapache2-mod-php5 //配置APACHE+PHP
sudo
/etc/init.d/apache2 restart //重启APACHE
测试:
打开gksudo
gedit /var/www/testphp.php
然后随意输入点东西(我输入的是SD)再保存。
然后在浏
览器中输入http://127.0.0.1/testphp.php
或者http://localhost/testphp.php
如果显示出你输入的东西即为成功
3.安装MYSQL
sudo apt-get install
mysql-server
安装完成按提示设置root密码
4、让apache、php
支持
mysql
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo /etc/init.d/apache2
restart
至此apache2+php 5.2.4.2+mysql5.0.51的环境就完成了。 ......