<?php
//常用文件操作函数
//第一部分 文件读写 与创建 删除 重命名等
//在开始前操作文件前 我们先判断一下是否是个文件 文件是否可执行 可读 可写
$file="test.txt";
if(file_exists($file))//盘断文件是否存在
{
echo "文件存在<br>";
}else
{
echo "文件不存在,已创建";
$fp=fopen($file,"w");//只读模式创建
fclose($fp);
}
if(is_file($file))
{
echo "是文件<br>";
}
if(is_dir($file))
{
echo "是目录<br>";
}
if(is_executable($file))
{
echo "文件可执行<br>";
}
if(is_readable($file))
{
echo "文件可读<br>";
}
if(is_writable($file))
{
echo "文件可写<br>";
}
chmod($file,0777);//完全权限
//模式说明 数字 1 表示使文件可执行,数字 2 表示使文件可写,数字 4 表示使文件可读--模式相加代表权限
$fp=fopen("test.txt","a+");//用追加读写的方式打开
//打开远程文件时
//$fp=fopen("test.txt","a+b");记得加b;
$content=fread($fp,70);//读取70字节
echo "1.{$content}<br> ";//输出
fwrite($fp,"我是<a href='http://www.jianlila.com'>荐礼啦</a>asdddddddddddddddddddddddddddddddddxxxxxxxxx");//已追加方式写入
$content=file_get_contents("test.txt");//读取文件 读取远程文件推荐用此函数
//$content=file_get_contents("http://www.jianlila.com");
echo "2.{$content}<br> ";
file_put_contents("test.txt","我是<a href='http://www.aiwobama.com'>爱我爸妈</a>asdddddddddddddddddddddddddddddddddxxxxxxxxx");
//输出到文件
fclose($fp);//关闭文件句柄
$fp=fopen("test.txt","a+");
$content=fread($fp,filesize("test.txt"));
//读取全部内容 filesize($file)//文件字节数
echo "3.{$content}<br>";
$fp=fopen("test.txt","r");
echo "一个字符".fgetc($fp)."<br>";//读取一个字符
$fp=fopen("test.txt","r");
echo "一行".fgets($fp)."<br>";//读取一行字符
$fp=fopen("test.txt","r");
echo "剩余数据";
fpassthru($fp);
echo "<br>";//输出剩余数据 可以用来输出二进制文件
copy("test.txt","荐礼啦.txt");
//文件拷贝
if(file_exists("爱我爸妈.txt"))
{
unlink("爱我爸妈.txt");
//如果存在则删除文件
}
rename("荐礼啦.txt","爱我爸妈.txt");
//文件重命名
if(file_exists("荐礼啦"))
{
rmdir("荐礼啦");//删除文件夹
}else
{
mkdir("荐礼啦");//创建文件夹
}
//获取文件信息 函数
$file="test.txt";
echo "文件大小".filesize($file)."字节<br>";
echo "文件类型".filetype($file)."<br>";
//这里的文件类型不是我们看到的.txt这类 二十指fifo,char,dir,block,link,file 和 unknown
$fp=fopen($file,"r");//打开文件
print_r(fstat($fp));//打印文件信息
echo "当前文件路径信息".__FILE__."<br>";
echo "当前文件所在的目录".dirname(__FILE__)."<br>";
echo "当前文件名".basename(__FILE__)."<br>";
print_r(stat($file));//打印文件信息
?>
//编码为gb2312,目前大部分网页还是用gb2312,少部分用utf-8,
//www.baidu.com竟然两个都用,所以读取baidu的网页怎么搞都没问题
header('Content-Type: text/html; charset=gb2312');
//编码为utf-8
header('Content-Type: text/html; charset=gb2312');
//编码xml为utf-8,不过好像都行
header('Content-Type: text/xml; charset=utf-8');
jquery客户端处理
客户端网页存为utf-8,并进行以下设置,同时数据库也设为utf-8,这样用ajax传数据不容易乱码。
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
//建议用$.get(),$.post(),尽量不用$.ajax(),问题少少,方便多多。
//:)不过你研究了jquery 源码就另当别论了!
$.get("test.php", function(data){
alert("Data Loaded: " + data);
});
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
$.post("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
个人心得,不完美之处,请多多提出,我必定认真听取更正。志在共勉!
就升级了本地的开发环境,没有涉及到生产环境.其实从5.3.0升级到5.3.3的过程还算蛮简单的,就是修改自己的程序有点麻烦,遇到了个小问题就是升级后竟然自己的项目无法连接mysql了,原因就是数据库配置串的问题,将localhost换成了127.0.0.1就好了.以后我在也不会在用localhost了........
正文
环境介绍:WAMP PHP版本 5.3.0 vc6 ,升级到 5.3.3 vc6
步骤
0.停止WAMP服务 复制解压的php5.3.3 到 E:\Wamp\bin\php
1.替换E:\Wamp\bin\apache\Apache2.2.11\bin目录下的 php5nsapi.dll 和 php5ts.dll 到最新版本
2.替换E:\Wamp\bin\apache\Apache2.2.11\bin\php.ini 中的 extension_dir = "E:/Wamp/bin/php/php5.3.3/ext/" 的路径
复制memcache.dll 到到php.5.3.3的ext目录下(这样就可以支持memcache了)
添加加载路径extension=php_memcache.dll
extension=php_exif.dll 将这样从上面复制下来exif要在mbstring后面加载,否则会提示无法加载
3.修改E:\Wamp\bin\apache\Apache2.2.11\conf\httpd.conf中的 LoadModule php5_module "E:/Wamp/bin/php/php5.3.3/php5apache2_2.dll"
4.查看PHP info看是否成功
升级完成后,看下自己的程序是否可以跑起来
图0
图1
图2
图3 连接没问题
图4 找到无法连接数据库的问题了
图5 PHP新添加了参数 max_file_uploads 就是每次请求最多能够上传的文件数