手记

PHP02

 

  41、如何使用下面的类,并解释下面什么意思?(3)

  class test{

  function Get_test($num){

  num=md5(md5(num)."En");

  return $num;

  }

  }

$test = new test();

ret=test->Get_test(11);

print_r($ret);exit;

将num进行MD5编码之后生成的32位字符串a1和"En"联系起来之后再进行一次MD5编码

 

  ----------------------------------------------------------------------------

  42、写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)

  表名 UserName Tel Content Date

     张三 13333663366 大专毕业 2006-10-11

     张三 13612312331 本科毕业 2006-10-15

     张四 021-55665566 中专毕业 2006-10-15

  (a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中

insert into 表名 values('小王', '13254748547', '高中毕业', '2007-05-06')

  (b) 请用sql语句把张三的时间更新成为当前系统时间

update 表名 set Date = GETDATE() where UserName = "张三"

  (c) 请写出删除名为张四的全部记录

delete from 表明 where UserName = "张四"

 

  43、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分)

int 整型

char 存储定长

varchar 存储变长

datetime 时间

text 存储变长的

varchar是变长

char(20) 定长

 

  44、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)

auto_increment

  45、写出以下程序的输出结果 (1分)

  $b=201;

  $c=40;

  a=b>$c?4:5;

  echo $a;

  ?>

4

 

  46、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)

isset()

empty()

 

  -----------------------------------------------------------------------------

  47、取得查询结果集总数的函数是?(1分)

mysql_num_rows()

 

  48、$arr = array('james', 'tom', 'symfony'); 请打印出第一个元素的值 (1分)

print_r($arr[0]);

reset($arr);

print_r(current($arr));

print_r(array_shift($arr));

 

  49、请将41题的数组的值用','号分隔并合并成字串输出(1分)

implode

 

  50、a=abcdef;a的值并打印出第一个字母(1分)

$a[0];

substr($a, 0, 1);

 

  51、PHP可以和sql server/oracle等数据库连接吗?(1分)

可以

有现成的库

 

  52、请写出PHP5权限控制修饰符(3分)

public

private 

protected

 

  53、请写出php5的构造函数和析构函数(2分)

public function __construct()

{

}

public function __destruct()

{

}

 

  编程题

  

  1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

  例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

<?php

$url = "http://www.sina.com.cn/abc/de/fg.php?id=1";

arr=parseurl(url);

pathArr=pathinfo(arr['path']);

print_r($pathArr['extension']);

 

  3. 写一个函数,算出两个文件的相对路径

  如 $a = '/a/b/c/d/e.php';

  $b = '/a/b/12/34/c.php';

  计算出 ba 的相对路径应该是 http://www.cnblogs.com/12/34/c.php将添上

 

<?php

$a = '/a/b/c/d/e.php';

$b = '/a/b/12/34/c.php';

//获取path相对于conpath的相对路径

function sGetRelativePath(path,conpath)

{

pathArr=explode("/",path);

conpathArr=explode("/",conpath);

$dismatchlen = 0;

for(i=0;i < count(pathArr);i++)

{

if(conpathArr[i] != pathArr[i])

{

dismatchlen=count(pathArr) - $i;

arrLeft=arrayslice(pathArr, $i);

break;

}

}

ret=strrepeat("../",dismatchlen).implode("/", $arrLeft);

return $ret;

}

print_r(sGetRelativePath(b,a));

 

  3.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

 

<?php

function aGetAllFile($folder)

{

$aFileArr = array();

if(is_dir($folder))

{

handle=opendir(folder);

while((file=readdir(handle)) !== false)

{

//如果是.或者..则跳过

if(file=="."||file == "..")

{

continue;

}

if(is_file(folder."/".file))

{

aFileArr[]=file; 

}

else if(is_dir(folder."/".file))

{

aFileArr[file] = aGetAllFile(folder."/".file);

}

}

closedir($handle);

}

return $aFileArr;

}

$path = "/home/test/sql";

print_r(aGetAllFile($path));


0人推荐
随时随地看视频
慕课网APP