动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

 PHP编程常用技巧四则

作者:无从考证 来源:转载 
阅读 2386 人次 , 2006-2-15 14:19:00 

PHP编程常用技巧四则: 

  1.配置PHP文件目录

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

  Alias /test/ "d:brhpwebsitebrhp/" 那么在浏览器端输入:“http://localhost/test/+PHP文件名”就可以访问d:brhpwebsitebrhp/下的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:brhpwebsitebrhp/tmp/" ; 要删除某个目录 path,执行: tmp="d:brhpwebsitebrhp/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());
   } 
  //此处为向数据表插入新的数据部分 
  ?>     
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Web技术进阶—PHP构建网站
· 下一篇:实例学习PHP之投票程序篇
· Apache+php3+PostgreSQL的安装
· PHP中的DOM XML函数
· PHP的content-type=text/html问题
· 如何实现日期比较,暨实现显示5天内,显示10天内的记录
· 第十五节--Zend引擎的发展 -- Classes and Objects in PHP5 [15]


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077