


The latest summary of PHP interview questions and application questions
本篇文章给大家分享PHP面试题之应用题最新汇总,有一定的参考价值,需要的朋友可以参考一下,希望对大家有所帮助。
相关推荐:《2021年PHP面试题大汇总(收藏)》
1. 遍历目录下的所有文件及文件夹
function fileShow($dir){ $handle = opendir($dir); // 打开目录句柄 while ($file = readdir($handle)) { // 返回目录句柄中的条目 if ($file !== '..' && $file !== '.') { $f = $dir . '/' . $file; if (is_file($f)) { echo '|--' . $file . '<br>'; // 代表文件 } else { echo '--' . $file . '<br>'; // 代表文件夹 fileShow($f); } } } }
2. 单例模式创建 mysqli 链接
class db { private $con; private static $instance; /** * 定义一个私有的构造函数,确保单例类不能通过 new 关键字实例化,只能被其自身实例化 */ private function __construct($host, $username, $password, $database) { $this->con = mysqli_connect($host, $username, $password); if (!$this->con) die("连接失败!"); mysqli_select_db($database); } /** * 创建单例 */ public static function getInstance($host, $username, $password, $database) { if (self::$instance) return self::$instance; self::$instance = new db($host, $username, $password, $database); } /** * 关闭数据库连接 */ public function close() { return mysqli_close($this->con); } /** * 定义私有的__clone()方法,确保单例类不能被复制或克隆 */ private function __clone() { } }
3. 获取一个网页地址的内容
$url = "http://www.phpres.com/index.html"; $str = file_get_contents($url); // 或 $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,0); curl_exec($ch); curl_close($ch);
4. 从 url 获取文件的扩展名
function getExt1 () { $url_path = "http://www.sina.com.cn/abc/de/fg.php?id=1"; $temp = pathinfo($url_path, PATHINFO_EXTENSION); // php?id=1 $temp = explode("?", $temp); echo $temp[0]; // php } function getExt2 () { $url_path = "http://www.sina.com.cn/abc/de/fg.php?id=1"; // ["scheme" => "http","host" => "www.sina.com.cn","path" => "/abc/de/fg.php","query" => "id=1"] $temp = parse_url($url_path); echo pathinfo($temp['path'], PATHINFO_EXTENSION); }
5. 获取一个文件的扩展名
function get_ext1 ($file_name) { return strrchr($file_name, '.'); // .jpg } function get_ext2 ($file_name) { return substr($file_name, strrpos($file_name, '.')); // .jpg } function get_ext3 ($file_name) { $tmp = explode('.', $file_name); return array_pop($tmp); // jpg } function get_ext4 ($file_name) { return pathinfo($file_name, PATHINFO_EXTENSION); // jpg }
6. 转换驼峰式字符串
function conversion1 () { $str = "open_door"; return ucwords(str_replace('_',' ',$str)); // Open Door}
7. header( ) 跳转页面
header('location:index.php'); // 跳转页面 header("HTTP/1.1 404 Not Found"); // 实现页面404错误提示功能
8. 使用正则表达式去除其中的所有js脚本
# $str是一段html文本 $pattern = '/<script.*>.*<\/script>/i'; preg_replace($pattern,'',$str);
9. 将一个数组里的空值去掉
\S
匹配任何非空白字符。i
不区分大小写
$arr = array("",1,2,3,""); $ptn = "/\S+/i"; print_r(preg_grep($ptn,$arr));
10. 给出年份和月份,输出指定月份的天数
function dayCount($year, $month) { echo date('t', strtotime($year . '-' . $month . '-1')); }
11. 编写函数取得上一月的最后一天
function get_last_month_last_day(){ $date = "2021-2-18"; $time = strtotime($date); $day = date('j',$time); // 获取该日期是当前月的第几天 return date('Y-m-d',strtotime("-{$day} days",$time));}
12. 确保多个进程同时写入同一个文件成功
$fp = fopen("lock.txt","w+"); if(flock($fp, LOCK_EX)) { // 写锁 fwrite($fp, "write something"); flock($fp, LOCK_UN); // 解锁 } else { echo "file is locking"; } fclose($fp);
13. 将字符串08/26/2003替换为2003-08-26
$str = '08/26/2003'; $pattern = '/(\d+)\/(\d+)\/(\d+)/'; $rep = '$3-$1-$2'; echo preg_replace($pattern, $rep, $str);
14. 求两个日期的差数
// 方法一:用DateTime类 $day1 = '2003-09-16'; $day2 = '2011-11-23'; $d1 = new dateTime($day1); $d2 = new dateTime($day2); echo $d1->diff($d2)->days; // 方法二,用时间戳计算 echo (strtotime($day2) - strtotime($day1))/(86400);
The above is the detailed content of The latest summary of PHP interview questions and application questions. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.
