页面载入中...
首页 » Tag ‘PHP’

开启支持Sqlite的PHP阀门

刚开始接触sqlite还真是一头的雾水,因为他没有像MYSQL或乾MSSQL这样的叫做安装服务的东西!到他的官方网站去走了一圈,还是不知所云,英文虽看懂了啥意思,可是还是摸不着头脑。查看一些中文相关介绍,也还是那样?这个数据库软件就这么神奇?神龙见首不见尾?

后来结合PHP来学习Sqlite还是慢慢看懂了一些,其实嘛,这个数据库就像是office中的access,也不全对,因为access还需要装N多的支持,可是这个数据库就很牛了,不用装什么其它的系统服务的支持,只要开启PHP中的这三个扩展支持:
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
这是相对与PHP5以上来说了。

然后重启一下web服务器就可以使用了。也就是说这个数据库系统,就像原来我们使用ASP+ACCESS方式开发网页那样简单易用,你只需要在PHP中包含你的数据库路径就可以了。这样你就可以对其它进行增删查改了!这是不是很好玩!而且这个数据库系统虽然说像access那样可以简单的进行开发,但是他的功能可是比access强大得多了!他的功能这里就不具体介绍了。我只是在额外的说明一点就是大家可以去他的官方网站下载windows下的命令行工具,这样使用他的命令行工具,就可以创建数据库,然后你就可以用PHP对其进行操作了。当然了,你也可以使用PHP直接创建数据库,并使用他进行操作,因为在此我只是想告诉大家的是当你接触到这个数据库系统的时候,也许你认为他们仅给你一个命令行工具能有什么用呢?我在此告诉你的是这个系统就是这样的一个工具而已,也就仅此而已,您可以使用此工具进去很多工作!另外,类似MYSQL下的PHPMYADMIN式的管理工具,Sqlite也有,他就是:SQLiteManager,你可以下载他,然后开启PHP的支持,就可以使用了。这时候你就真正觉得你是在使用一个类似于MYSQL这样的数据库了,这样你就不会太陌生了。至于PHP下的具体操作,我想以后有机会我也会讲讲自己的一些学习上的心得体会,在此就先赘述了,网上很多学习资料,我想之所以作此文,仅是引导一下大家对这个数据库系统的认识罢了。

也许你自己想了解关系数据库方式的编程,这个数据库系统提供了这样的好机会,你可以到官方网站去下载他的源代码,通过编辑或者修改,你完全可以拿去卖钱!没人管你!而且这个数据库最初被广泛使用在嵌入式编程之中,你有机会也可以试试!

我也是刚了解,大家可以多多交流!
官方网站:http://www.sqlite.org/
上面有你想要的下载!

mysql持久连接原理与作用

数据库永久连接  
   
  永久的数据库连接是指在脚本结束运行时不关闭的连接。当收到一个永久连接的请求时。PHP将检查是否已经存在一个(前面已经开启的)相同的永久连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。所谓“相同”的连接是指用相同的用户名和密码到相同主机的连接。    
   
  对web服务器的工作和分布负载没有完全理解的读者可能会错误地理解永久连接的作用。特别的,永久连接不会在相同的连接上提供建立“用户会话”的能力,也不提供有效建立事务的能力。实际上,从严格意义上来讲,永久连接不会提供任何非永久连接无法提供的特殊功能。    
   
  为什么?    
   
  这和web服务器工作的方式有关。web服务器可以用三种方法来利用PHP生成web页面。   
   
  第一种方法是将PHP用作一个“外壳”。以这种方法运行,PHP会为向web服务器提出的每个PHP页面请求生成并结束一个PHP解释器线程。由于该线程

PHP5+MySQL要注意哪些问题?

1、分号的例外

在MySQL中,每一行命令都是用分号(;)作为结束的,但是当一行MySQL命令被插入在PHP代码中时,最好把后面的分号省略掉,例如:

mysql_query (”INSERT INTO tablename (first_name, last_name) VALUES (”$first_name”, ”$last_name”)”);

这是因为PHP也是以分号作为一行的结束的,额外的分号有时会导致PHP 的语法分析器做出错误的分析,所以还是省略掉的好。在这种情况下,虽然省略了分号,但是 PHP 在执行 MySQL 命令时会自动加上分号。

标签:

PHP实现HTTP 301永久重定向[zt]

301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:301 代表永久性转移(Permanently Moved),302 代表暂时性转移(Temporarily Moved)。

  301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址,如果我们把一个地址采用301跳转方式跳转的话,搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。

  在PHP中,一般实现页面跳转的语句如下:

php header(’Location: http://www.vckee.com/’);

  当我们使用工具查看这个HTTP头,发现他返回的是一个HTTP 302临时重定向。而不是我们所期望的HTTP 301永久重定向

应该如何实现HTTP 301永久重定向呢?其实也很简单,只需增加一行代码:

php header(’HTTP/1.1 301 Moved Permanently’);

header(’Location: http://www.vckee.com/’);

  当我们再次查看这个页面的HTTP头的时候,他返回的就是我们所期望的HTTP 301永久重定向了。

标签:

PHP分页方案完美解决[zt]

1、前言

分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。本文适合初学者阅读,所有示例代码均使用php编写。

标签:

全局自动变量$_FILES数组用法

$_FILES
经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。

$_FILES数组内容如下:

PHP图像缩放函数

PHP中缩放图像.
有两种改变图像大小的方法.
(1):ImageCopyResized() 函数在所有GD版本中有效,但其缩放图像的算法比较粗糙.
(2):ImageCopyResamples() ,其像素插值算法得到的图像边缘比较平滑.(但该函数的速度比 ImageCopyResized() 慢).

标签:

PHP之生成随机数

有时候想用PHP函数弄个随机数,所以抄录以备忘:

语法: 

void srand(int seed);
rand();
说明:本函数传入参数 seed 后,配置随机数的种子。值得注意的是参数 seed 值最好也是随机出现的数字,例如利用加入时间做为变量的来源就是不错的方法,或者开发其它的硬件周边界面可取得更好的随机数。

事例:加入时间的因素,以执行时的百万分之一秒当随机数种子 
<?php
    srand((double)microtime()*1000000);
   $randval = rand();
   echo $randval;
   ?>

标签:

无法载入mcrypt 扩展,请检查 PHP 配置

解决方法如下:
1). 在php.ini配置文件中,搜索 ;extension=php_mcrypt.dll 

将php_mcrypt.dll前的 ” ; “分号去掉改成   

extension=php_mcrypt.dll

2). 从php5中复制 libmcrypt.dll 到system32目录下。
3). 修改完后重起iis或Apache

(iis必须在cmd下用iisreset 命令重起服务器,在“Internet 信息服务”重启无效) 

标签:

phpMyAdmin 2.11.6安装出现mysql#1045错误解决之道

安装phpMyAdmin 2.11.6出现这样的错误码:#1045 – Access denied for user ‘root’@'localhost’ (using password: NO),于是网上大搜了一把,不过可能网友们安装的的版本过老,给出的答案都不令人满意!差不多都是把libraries目录下的config.default.php复制到根目录改名为config.inc.php,然后再加上用户密码之类的,再设置一些东西就成了,可是我按这样做了,没有什么效果,最后还是找到并解决了!

之前安装前就发现根目录有config.sample.inc.php这个文件,本来我想应该是改这个文件的,可是之前我也有装过(旧版的时候),所以也没有放在心上,后来在海量搜索之后,发现了还是改这个文件为上上策,不过改完之后还要做一些动作才能成功访问的。

只要找到根目录下的config.sample.inc.php文件,复制里面的内容到新建文件config.inc.php里就可以了。 config.inc.php要放在根目录下。

然后修改里面的内容为如下:(只修改红色部分)