php面试题---上接面试题---自写部分答案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yueruitao/article/details/73195574

蚂蚁小草

<?php

header("content-type:text/html;charset=utf-8");

//1. date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区

// date_default_timezone_set('PRC');

date_default_timezone_set('Asia/Hong_Kong');//Asia/Shanghai

echo date('Y-m-d H:i:s',strtotime('-1day')),"<br>";

echo date('Y-m-d H:i:s',time()-3600*24),"<br>";

// 2.

$a = 'abcdef';

echo $a{0};

echo substr($a,0-strlen($a),1);

echo $a[0],"<br>";

//3

// substr() 函数返回字符串的一部分

// 中文截取mb_substr( $str, $start, $length, $encoding )

// $str,需要截断的字符串

// $start,截断开始处,起始处为0

// $length,要截取的字数

// $encoding,网页编码,如utf-8,GB2312,GBK

$b='你好郑州';

echo substr($a,1,3),"<br>";//bcd

echo mb_substr($b,2,5,'utf-8');//郑州

// 4,

// error_reporting — 设置应该报告何种 PHP 错误

// 关闭所有PHP错误报告

error_reporting(0);

// Report simple running errors

error_reporting(E_ERROR | E_WARNING | E_PARSE);

// 报告 E_NOTICE也挺好 (报告未初始化的变量或者捕获变量名的错误拼写)

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// 除了 E_NOTICE,报告其他所有错误,这是在 php.ini 里的默认设置

error_reporting(E_ALL ^ E_NOTICE);

// 报告所有 PHP 错误 (参见 changelog)

error_reporting(E_ALL);

// 报告所有 PHP 错误

error_reporting(-1);

// 和 error_reporting(E_ALL); 一样

ini_set('error_reporting', E_ALL);

// 5,

// header("Location:https://www.baidu.com");

// header("refresh:3;url=https://www.baidu.com");

// echo "<meta http-equiv=refresh content='3; url=http://wwww.baidu.com'>";

/**echo "<script language='javascript'>";

echo " location='http://www.baidu.com';";

echo "</script>";*/

// 6,

// 设置cookie

// $value = 'something from somewhere';

// setcookie("TestCookie", $value); /* 简单cookie设置 */

// setcookie("TestCookie", $value, time()+3600); /* 有效期1个小时 */

// setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); /* 有效目录 /~rasmus,有效域名example.com及其所有子域名 */

// print $_COOKIE['TestCookie'];//读取

// setcookie("name","",time()-1);//删除

// 7,

setcookie('user.age', '18');

var_dump($_COOKIE['user_age']);

// 8,

$q = array(

'where' => 'uid=1',

'order' => 'uid',

);

$w = array(

'where' => 'uid=2',

'order' => 'uiddesc',

);

$e=$q+$w;

var_dump($e);

var_dump($r=array_merge($q,$w));

// 9,

var_dump(array_merge([1,2,3], [3,4,5]));

//21,

class Animal{

public function __construct() {

$this->created = date("Y-m-d H:i:s", time());

}

}

class Penguin extends Animal {

}

$tux = new Penguin;

echo $tux->created;

// class Animal{

// public function __construct() {

// $this->created = time();

// }

// public function __destruct() {

// fclose($this->logfile_handle);

// }

// }

//25,

// 编码

// echo '<a href="mycgi?foo=', urlencode($userinput), '">';

//解码

$query = "my=apples&are=green+and+red";

foreach (explode('&', $query) as $chunk) {

$param = explode("=", $chunk);

var_dump($param);

if ($param) {

printf("Value for parameter \"%s\" is \"%s\"<br/>\n", urldecode($param[0]), urldecode($param[1]));

}

}

//26,

//正则匹配

$a="<H>some</H><b>html</b>";

Preg_match("/<\w?>(\w*?)<\/\w?>/", $a, $matches);

echo "$matches[1]";//some

$email = "[email protected]";

var_dump(preg_match('/^[\w\-\.]+@[\w\-]+(\.\w+)+$/',$email));//正确1

//36,

$str = "Is your name O'reilly?";

// 输出: Is your name O\'reilly?

echo addslashes($str);

echo stripslashes($str);//Is your name O'reilly?

//42,

$fp=fopen("lock0.txt", "w+");

// 排它性的锁定 先锁上,写完,打开

if(flock($fp, LOCK_EX)){

    //获得写锁 ,写数据

    fwrite($fp, "write something");

    // 解除绑定

    flock($fp, LOCK_UN);

}else{

    echo "file is locking";

}

fclose($fp);

//43

// 遍历文件夹下的文件和文件夹

function my_scandir($dir){

    $files=array();

    if(is_dir($dir)){

        if($handle=opendir($dir)){

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

                if($file!="."&&$file!=".."){

                    if(is_dir($dir."/".$file)){

                        $files[$file]=my_scandir($dir."/".$file);

                }else{

                    $files[]=$dir."/".$file;

                }

            }

        }

        closedir($handle);

        return $files;

    }

}

}

$q_array=my_scandir('D:\Bitnami\wampstack-5.6.19-0\apache2\htdocs\001mianshiti');

print_r($q_array);


 

// function my_dir($dir){

// $files=array();

// if(@$handle=opendir($dir)){//注意这里要加一个@,不然会有warning错误提示:)

// while(($file=readdir($handle))!==false){

// if($file!=".." && $file!="."){//排除根目录;

// if(is_dir($dir."/".$file)){//如果是子文件夹,就进行递归

// $files[$file]=my_dir($dir."/".$file);

// }else{//不然就将文件的名字存入数组;

// $files[]=$file;

// }

// }

// }

// closedir($handle);

// return $files;

// }

// }

// //以下是测试

// $q_array=my_dir('D:\Bitnami\wampstack-5.6.19-0\apache2\htdocs\001mianshiti');

// print_r($q_array);

//44,

$script = "以下内容不显示:<script type='text/javascript'>alert('cc');</script>";

$pattern = "/<[^>].?>.?<\/>/si";

echo preg_replace($pattern, "脚本内容", $script)."<br>";//以下内容不显示:脚本内容

//46,

$array = array(

    '1' => 'q',

    '2'=>'w',

    '3'=>'e',

    '4'=>'w'

    );

print_r(array_keys($array, "w"));

foreach ($array as $key => $value) {

    echo "key:$key; Value: $value<br />";

}

// while ( $zimu= current($array)) {

//  if ($zimu=='w') {

//      echo key($array)."<br>";

//      echo current($array);

// }

//  next($array);

// }

// 48,pdo

$dbms='mysql'; //数据库类型

$host='localhost'; //数据库主机名

$dbName='text'; //使用的数据库

$user='root'; //数据库连接用户名

$pass='123456'; //对应的密码

$dsn="$dbms:host=$host;dbname=$dbName";

try {

$dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象

echo "连接成功<br/>";

// 你还可以进行一次搜索操作

foreach ($dbh->query('SELECT * from books') as $row) {

print_r($row); //你可以用 echo($GLOBAL); 来看到这些值

}

$dbh = null;

} catch (PDOException $e) {

die ("Error!: " . $e->getMessage() . "<br/>");

}

//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:

$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

// GD库

var_dump(gd_info());

list($width, $height, $type, $attr) = getimagesize("1.png");

echo "宽度为:" . $width;

echo "高度为:" . $height;

echo "类型为:" . $attr."<br/>";

// 以文件方式打开

$size_info1 = getimagesize("1.png");

// 以字符串格式打开

$data = file_get_contents("1.png");

$size_info2 = getimagesizefromstring($data);

print_r($size_info2);

// curl

// 创建一个cURL句柄

$ch = curl_init('http://www.yahoo.com/');

// 执行

curl_exec($ch);

// 检查是否有错误发生

if(!curl_errno($ch))

{

$info = curl_getinfo($ch);

echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];

}

// Close handle

curl_close($ch);





















 

?>

猜你喜欢

转载自blog.csdn.net/yueruitao/article/details/73195574