一.PHP基础知识相关面试题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一.PHP基础知识相关面试题相关的知识,希望对你有一定的参考价值。


一.文件操作

1.下面哪个函数可以打开一个文件,以对文件进行读和写操作(1分)
A.fget() B.file_open() C.fopen() D.open_file()
C

  1. 写一个函数,尽可能高效的,从一个标准url里取出文件的扩展名
    方法一:
function get_ext($url)  
$data = parse_url($url);
return pathinfo($data[path], PATHINFO_EXTENSION);

3.有一个网页地址,比如php主页:http://www.phpv.net/index.html,如何得到它的内容?

方法一: curl

<?php
$url = “http://www.phpv.net/index.html”;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//在需要用户检测的网页里需要增加下面两行
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.”:”.US_PWD);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
?>

方法二:

<?php
$url = http://www.example.com/;
//1.
$content = file_get_contents($url);
echo $content;
//2.
//如果出现中文乱码使用下面代码
//$getcontent = iconv(“gb2312″, “utf-8″,file_get_contents($url));
//echo $getcontent;
?>

方法三:

<?php  
$handle = fopen ("http://www.example.com/","rb");
$contents = "";
do
$data = fread($handle, 8192);
if (strlen($data) == 0)
break;
$contents .= $data;
while(true);
fclose ($handle);
echo $contents;
?>

Ps1.使用file_get_contents和fopen必须空间开启allow_url_fopen。方法:编辑php.ini,设置 allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。

Ps2.使用curl必须空间开启curl。方法:WIN下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需要拷贝ssleay32.dll和libeay32.dll到C:\\WINDOWS\\system32下;Linux下要安装curl扩展。

Ps3.建议打开URL时使用file_get_contents()方法,可优化打开速度

4.写一个函数,能够便利一个文件夹下的所有文件和子文件夹

<?php
function my_candir($dir)
$files=array();
if($handle=opendir($dir))
while(($file=readdir($handle)))

if($file!=..&&$file!=.)
if(is_dir($dir./.$file)) $files[$file]=my_candir($dir./.$file);

else
$files[]=$file;




closedir($handle);
return $files;


echo <pre>;
print_r(my_candir("F:\\amp"));

5…php读取文件内容的几种方法和函数?

1.$fp = Fopen($file_path,’r’);
Fread($fp,filesize($file_path));
2.File_get_contents($file_path)
3.if(file_exists($file_path))
$file_arr = file($file_path);
for($i=0;$i<count($file_arr);$i++)//逐行读取文件内容
echo $file_arr[$i]."<br />";
4.
$file_path = "test.txt";
if(file_exists($file_path))
$fp = fopen($file_path,"r");
$str ="";
while(!feof($fp))
$str .= fgets($fp);//逐行读取。如果fgets不写length参数,默认是读取1k。

二.全局变量

1.常用的超全局变量(3个)

$_SERVER
$_GET
$_POST
$_REQUEST
$_COOKIE
$_SESSION

2.如何用php的环境变量得到一个网页地址的url?ip地址又要怎样得到?

$_SERVER["REQUEST_URI"]
$_SERVER["SERVER_ADDR"]

3.PHP变量不能包含哪些字符?至少写出五个。PHP的超全局变量有哪些?至少写出五个。
只能包含数字字母下划线和$.

$GLOBALS $_SERVER $_SESSION $_COOKIE $_GET $_POST $_REQUEST

三. 内置函数

1.写出用PHP打印出前一天的时间格式:2006-5-10 22:21:21
date(‘Y-m-d H:i:s’,strtotime(’-1 day’))

2.以上是关于一.PHP基础知识相关面试题的主要内容,如果未能解决你的问题,请参考以下文章

最全最详细的PHP面试题(带有答案)

《PHP程序员面试笔试宝典》——如何回答系统设计题?

2022最新版 Redis大厂面试题总结(附答案)

php面试题汇总一(基础篇附答案)

程序员找工作必备 PHP 基础面试题

程序员面试必备PHP基础面试题 – 第十一天