


本篇文章给大家分享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!

This article will explore how to embed a mobile preview of the target website in your website. Due to the limitations of homologous policies, using iframes directly may experience cross-domain problems. This article will introduce the use of reverse proxy to add CORS headers to solve cross-domain problems, and provide examples of using iframes and reverse proxy to implement mobile previews, and also briefly mentions how to use curl to get page source code.

This article explores the performance and reliability trade-offs between file cache and memory cache in Laravel applications without relying on external services such as Redis or Memcached. We will analyze the working principles, advantages and disadvantages of the two caching mechanisms, and emphasize how file caching can use operating system-level memory cache to achieve efficient access and data persistence. At the same time, we will discuss the limitations of pure application memory cache, aiming to help developers choose the most appropriate cache strategy based on actual needs.

This article aims to provide two ways to obtain a list of users associated with a specific taxonomy in WordPress. The first method indirectly associates users by querying articles published by users that belong to specific classification terms, and is suitable for standard WordPress settings. The second method is to directly execute SQL queries, which are suitable for specific scenarios where the user ID is directly used as the object ID in the taxonomy relationship table. The article will elaborate on the implementation code, applicable scenarios and precautions of these two methods.

This article will guide you how to achieve dynamic linkage of product attributes through JavaScript in the WooCommerce product page. When a user selects a specific attribute value (such as Inventory in the Pricing attribute), the corresponding other attributes (such as Color) are automatically hidden or displayed, optimizing the user experience and simplifying the product configuration process.

This tutorial details how to customize the image_filter in sylius_taxon_image_widget through the template overlay mechanism without modifying the Sylius vendor file. We will demonstrate how to locate the original template, create the correct overlay path, and modify the code to implement custom image processing requirements, ensuring system maintainability and upgrade compatibility.

This article describes how to get a list of user IDs associated with a specific taxonomy in WordPress. By using the get_users() function and the WP_Query class, we can iterate through all users and check whether they have published articles related to a specific taxonomy. In addition, a method is provided to directly execute SQL queries using the $wpdb object to obtain the user ID more efficiently.

This article aims to solve the cross-domain resource sharing (CORS) problem encountered when embedding external websites into websites and implementing mobile previews. We will explore in detail how to use reverse proxy services such as CORS Anywhere to add necessary CORS header information to successfully implement interactive previews through iframes. In addition, the article will also introduce alternatives and limitations of server-side content crawling (such as PHP Curl), and provide corresponding code examples and precautions to help developers build stable and reliable preview functions.

This tutorial details how to implement custom date of birth verification in the Ultimate Member plugin to ensure that users are over 13 years old when they register. By using WordPress's add_action hook and Ultimate Member's error handling mechanism, we will show how to calculate user age and display custom error messages when conditions do not meet, thereby enhancing the compliance and user experience of the registration process.


Hot AI Tools

Undress AI Tool
Undress images for free

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

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

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Zend Studio 13.0.1
Powerful PHP integrated development environment