多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP编程常用技巧四则有哪些

时间:2018-11-20 20:40:02 [来源]:郑州PHP培训学校

   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());
  }
  //此处为向数据表插入新的数据部分
  ?>
  那些未曾了解的PHP函数和功能
  PHP的真正威力源自于它的函数,但有些PHP函数并没有得到充分的利用,也并不是所有人都会从头到尾一页一页地阅读手册和函数参考,这里将向您介绍这些实用的函数和功能。
  1、任意参数数目的函数
  你可能已经知道,PHP允许定义可选参数的函数。但也有完全允许任意数目的函数参数的方法。以下是可选参数的例子:
  以下为引用的内容:
  //functionwith2optionalarguments
  functionfoo($arg1=”,$arg2=”){
  echo“arg1:$arg1\n”;
  echo“arg2:$arg2\n”;
  }
  foo(‘hello’,'world’);
  /*prints:
  arg1:hello
  arg2:world
  */
  foo();
  /*prints:
  arg1:
  arg2:
  */
  现在让我们看看如何建立能够接受任何参数数目的函数。这一次需要使用func_get_args()函数:
  以下为引用的内容:
  //yes,theargumentlistcanbeempty
  functionfoo(){
  //returnsanarrayofallpassedarguments
  $args=func_get_args();
  foreach($argsas$k=>$v){
  echo“arg”.($k+1).”:$v\n”;
  }
  }
  foo();
  /*printsnothing*/
  foo(‘hello’);
  /*prints
  arg1:hello
  */
  foo(‘hello’,‘world’,‘again’);
  /*prints
  arg1:hello
  arg2:world
  arg3:again
  */
  2、使用Glob()查找文件
  许多PHP函数具有长描述性的名称。然而可能会很难说出glob()函数能做的事情,除非你已经通过多次使用并熟悉了它。可以把它看作是比scandir()函数更强大的版本,可以按照某种模式搜索文件。
  以下为引用的内容:
  //getallphpfiles
  $files=glob(‘*.php’);
  print_r($files);
  /*outputlookslike:
  Array
  (
  [0]=>phptest.php
  [1]=>pi.php
  [2]=>post_output.php
  [3]=>test.php
  )
  */
  你可以像这样获得多个文件:
  以下为引用的内容:
  //getallphpfilesANDtxtfiles
  $files=glob(‘*.{php,txt}’,GLOB_BRACE);
  print_r($files);
  /*outputlookslike:
  Array
  (
  [0]=>phptest.php
  [1]=>pi.php
  [2]=>post_output.php
  [3]=>test.php
  [4]=>log.txt
  [5]=>test.txt
  )
  */
  请注意,这些文件其实是可以返回一个路径,这取决于查询条件:
  以下为引用的内容:
  $files=glob(‘../images/a*.jpg’);
  print_r($files);
  /*outputlookslike:
  Array
  (
  [0]=>../images/apple.jpg
  [1]=>../images/art.jpg
  )
  */

上一篇:PHP中文处理工具函数的用法总结

下一篇:推荐几款性能强大的PHP类库