开发者社区


C++/C | Java | .Net/Windows | Linux/Unix | 开源 | 其他
首页 - 编程
编程
全文搜索:   

PHP编程常用技巧四则
作者:
2001-08-15 19:35:00


1.配置PHP文件目录

  作为服务器端解释执行的脚本语言,PHP程序放置在某个服务器可以访问的目录下,一般可以通过修改Apache的httpd.conj进行配置,例如我们在该文件中的一句:

  Alias /test/ "d:/phpwebsite/php/" 那么在浏览器端输入:“http://localhost/test/+PHP文件名”就可以访问d:/phpwebsite/php/下的PHP文件了;可见该行不过是为存放PHP文件的目录起一个别名。

  其次,还可以通过指定DocumentRoot路径得到存放服务器文件的目录,在httpd.conj找到以下两行,其中的路径可以随意指定,你的PHP文件也可以放在该目录下,服务器同样可以运行它们,如“http://localhost/+PHP文件名”。

  一般的,将PHP文件放在同一个地方比较好,可以方便管理,而其他文件放在另外一个地方。

DocumentRoot "C:/usr/bin/html/"


2.服务器端目录的索引文件

在httpd.conj中,有一行:
DirectoryIndex index.html

  该行指定目录默认打开文件为index.html,当访问某个目录时,服务器就会自动查找index.html, 若果不存在,则显示目录中的所有文件列表,默认打开文件可以改为别的,如index.php3等等,但是也许我们有很多目录,无论是存放图片,文本等资料的,还是存放PHP文件或别的文件的目录,我们并不希望用户能看到目录中的文件列表,在httpd.conj 中指定了一个.htacess文件,该文件产生一个目录索引文件,例如我们用写字板建立一个.htacess文件:

# .htacess #
DirectoryIndex error_open.php
再建立一个错误警告文件:
# error_open.php #


  其中的error_open.php为权限错误警告文件,将此2文件放在所有保护目录下,当用户企图打开目录时,自动转向执行error_open.php,显示错误警告。


3.目录删除巧实现
我们知道,PHP4 for/win32中有个rename()函数可以支持对目录/文件进行重命名,如:
rename( oldpath, newpath) // oldpath为文件或目录原来路径;
// newpath为新定义路径;

  实现将 oldpath改名为 newpath。

  PHP4中没有删除目录/文件的函数,怎么作到删除呢?我们知道,php.ini中有一行用来完成HTTP上传操作的临时文件目录配置行:
upload_tmp_dir= ;

  PHP4支持该临时目录的配置(PHP3不支持),当上载操作完成则自动清空临时目录,好了,用它我们可以巧妙的实现文件/目录的删除,比如设置: upload_tmp_dir="d:/phpwebsite/php/tmp/" ;
要删除某个目录 path,执行:

tmp="d:/phpwebsite/php/tmp/;"
rename( path, tmp)
?>

  那么文件或目录 path改名为 tmp后, tmp目录下的所有文件/目录自动清除,就完成了删除操作。


4.快速建立MySql数据库表

  PHP和MySql数据库达到了完美结合,在网页上,比如在论坛或书屋发表作品的新用户,我们要把他的言论信息在线写入数据库中,往往要在相应的数据库中为该用户新建一个数据表。win32下建立新的MySQL空数据库很简单,只要在“/mysql/data/”目录下建立一个文件夹,如:"/usrinfo/",就可以了。而向库中增添新表可通过以下程序实现:

  # connect.mysql--连接数据库 #
connection = mysql_connect();
mysql_select_db("usrinfo", connection);
?>
# make.php-- 建立如下结构的,以用户名为表名的数据表 #
//调用connect.mysql
require("connect.mysql");
//检查以用户名为表名的数据表存在否?
query="select count(*) from usrname";
result=mysql_db_query( query);
//不存在则创建,如存在就是老用户;
if(! result){
mysql_query("
create table usrname(
id tinyint(6),
title text,
body longtext,
dateof date;
timeof time;
)") or die(mysql_error());
}
//此处为向数据表插入新的数据部分
?>
 

声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号