Session]
; 除非使用session_register()或$_SESSION注册了一个变量。
; 否则不管是否使用了session_start(),都不会自动添加任何session记录。
; 包括resource变量或有循环引用的对象包含指向自身的引用的对象,不能保存在会话中。
; register_globals指令会影响到会话变量的存储和恢复。
session.save_handler = "files"
; 存储和检索与会话关联的数据的处理器名字。默认为文件("files")。
; 如果想要使用自定义的处理器(如基于数据库的处理器),可用"user"。
; 有一个使用PostgreSQL的处理器:http://sourceforge.net/projects/phpform-ext/
session.save_path = "/tmp"
; 传递给存储处理器的参数。对于files处理器,此值是创建会话数据文件的路径。
; Windows下默认为临时文件夹路径。
; 你可以使用"N;[MODE;]/path"这样模式定义该路径(N是一个整数)。
; N表示使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。
; [MODE;]可选,必须使用8进制数,默认600(=384),表示每个目录下最多保存的会话文件数量。 ......
当下载文件需要与服务端交互时,就需要用脚本来实现,而不是单纯地链接到文件的地址
下载mp3文件的例子
<?php
$file_path = './data/upload/song/sample.mp3';
$file_name = 'sample.mp3';
$file_size = filesize($file_path);
header ( "Pragma: public" );
header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header ( "Cache-Control: private", false );
header ( "Content-Transfer-Encoding: binary" );
header ( "Content-Type:audio/mpeg MP3");
header ( "Content-Length: " . $file_size);
header ( "Content-Disposition: attachment; filename=".$file_name);
echo(file_get_contents($file_path));
exit;
?>
以下列表来自http://hi.baidu.com/zbzb /blog/item/643cd60021d25d11738b6530.html
Content-type 的说明 'application/andrew-inset',
'hqx' => 'application/mac-binhex40',
'cpt' => 'application/mac-compactpro',
'doc' => 'application/msword',
'bin' => 'application/octet-stream',
'dms' => 'applic ......
CENTOS 5的虚拟机,怎么从图形界面切换到命令行界面
1.临时切换:
ctrl+alt+1 …… ctrl+alt+6一共六个控制台。
2.永久关闭图形化:
在root下输入 vi /etc/inittab 将init:5修改为init:3
Mysql rpm包安装,不能重定位(relocatable)
rpm包安装异常,--prefix 参数不能重定位,安装到另一个目录的原因,error: package is not relocatable
[mysql@test922 ~]$ rpm --install --prefix linuxqq-v1.0.2-beta1.i386.rpm
error: linuxqq is not relocatable
经查找,可以使用下面的命令查看rpm包是否可以重定位,也就是安装到另一个目录。
# rpm -qpi linuxqq-v1.0.2-beta1.i386.rpm |head
Name : linuxqq Relocations: (not relocatable)
Version : v1.0.2   ......
CENTOS 5的虚拟机,怎么从图形界面切换到命令行界面
1.临时切换:
ctrl+alt+1 …… ctrl+alt+6一共六个控制台。
2.永久关闭图形化:
在root下输入 vi /etc/inittab 将init:5修改为init:3
Mysql rpm包安装,不能重定位(relocatable)
rpm包安装异常,--prefix 参数不能重定位,安装到另一个目录的原因,error: package is not relocatable
[mysql@test922 ~]$ rpm --install --prefix linuxqq-v1.0.2-beta1.i386.rpm
error: linuxqq is not relocatable
经查找,可以使用下面的命令查看rpm包是否可以重定位,也就是安装到另一个目录。
# rpm -qpi linuxqq-v1.0.2-beta1.i386.rpm |head
Name : linuxqq Relocations: (not relocatable)
Version : v1.0.2   ......
分页功能的实现是每种WEB开发语言必须要实现的功能。PHP也好,JSP也罢。我准备用两个方法来阐述PHP+MYSQL实现分页的功能。
一、分页程序的原理
分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset(下标意思)=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。
二、主要代码解析
<?php
$conn=mysql_connect("localhost","root","123");//连接数据库
$rs=mysql_query("select count(*) from tb_product",$conn); //取得记录总数$rs
$pagesize=10; //设置每一页显示的记录数
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
$pages=intval($numrows/$pagesize);//计算总页数
?>
三 完整代码
<html>
<head>
<title> ......
分页功能的实现是每种WEB开发语言必须要实现的功能。PHP也好,JSP也罢。我准备用两个方法来阐述PHP+MYSQL实现分页的功能。
一、分页程序的原理
分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset(下标意思)=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。
二、主要代码解析
<?php
$conn=mysql_connect("localhost","root","123");//连接数据库
$rs=mysql_query("select count(*) from tb_product",$conn); //取得记录总数$rs
$pagesize=10; //设置每一页显示的记录数
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
$pages=intval($numrows/$pagesize);//计算总页数
?>
三 完整代码
<html>
<head>
<title> ......
Thomas Myer, 负责人, Triple Dog Dare Media
Thomas Myer 是一名顾问、作家和讲师,居住在 Austin。他创立了 Triple Dog Dare Media 并在 Twitter 上以 @myerman 撰写博文。
简介: 作者 Thomas Myer 向资深 PHP 开发人员讲述如何把 CouchDB 添加到他们的技术工具箱中。
如果您是位典型的 PHP 开发人员,就不难通过以往的项目得到这样一个结论:在多数(如果不是全部)情况下,为了进行动态数据处理,您都会让 PHP 与数据库后端进行对话;而在这些实例中,99% 的情况下使用的都是 MySQL。
如今,使用关系型数据库无可厚非。如果所处理的数据结构复杂,并具有多种关系,那么这么做是很合理的。您可以顺利地(或是不太顺利地,取决于您对 SQL 的熟悉程度)进行对模式、数据关系、表等等的处理。
不过,您所从事的项目有时也会让您不经意间心生疑问:“为什么我要做所有这些工作?” 您所从事的这个项目包含了一些简单的或难以预测的数据 — 在不同的日子获得的数据字段可能不同甚至事务之间的数据字段都不尽相同。若是创建一个模式来预测将会出现什么数据字段,结果很可能会得到内含大量空字段的表或大量的映射表。
常用缩略语
Ajax:异步 JavaSc ......
昨天调用同事的一个json接口,发现调用php中的函数json_decode无法转化为数组。
<?php
$json = "{'d':[['xxx','中国','广西','xjr7670@sina.com','2010-05-01 13:35:02'],['xxx','中国','广西','xjr7670@sina.com','2010-05-01 13:35:02']],'c':13659,'n':759}";
print_r(json_decode($json, true));//无法显示
//将单引号改为双引号就好了
$json = '{"d":[["xxx","中国","广西","xjr7670@sina.com","2010-05-01 13:35:02"],["xxx","中国","广西","xjr7670@sina.com","2010-05-01 13:35:02"]],"c":13659,"n":759}';
print_r(json_decode($json, true));
......