三十九·请使用 php编写程序,读取出www.baidu.com的首页的网页内容,并存入字符串$str?
方法一:

$url ="http://www.baidu.com";
$str = file_get_contents($url);
echo $str;

方法二:

$fp = fopen("http://www.baidu.com",'r');
$str = '';
while(!feof($fp)){
    echo $str.=fread($fp,'1024');
}

请用php将上题中读出来的网页内容的<title>标签的值解析出来?

header("Content-type:text/html;charset=utf-8");
$url ="http://www.baidu.com";
$str = file_get_contents($url);

preg_match('/<title>(.+)<\/title>/',$str,$ms);
echo $ms[1];

四十·通过php函数循环遍历出文件夹下的所有目录的文件,写出程序?

$dir = "zt";
function dirList($dir){
    $arr = scandir($dir);
    foreach($arr as $file){
        if($file !='.' && $file !='..'){
            $path = $dir."/".$file;
            if(is_dir($path)){
                dirList($path);
            }else{
                echo "<p>{$path}</p>";
            }
        }
    }
}
dirList($dir);

四十一·linux打印出一个文件夹下的所有目录和文件,编写shell脚本?

vi tree.sh

#! /bin/bash
tree

chomd 777 tree.sh

四十二·什么是数据库索引,主键索引,唯一索引的区别,索引的缺点是什么?

数据库索引就相当于一本书的目录,就是给数据库中的每张表建立索引,便于检索提高select 效率,加快搜索速度
主键索引就是给每张表的主键设置索引,
唯一索引就是给每张表的唯一值字段设置索引,
主键索引本身就内置唯一索引,
一旦在列里加唯一索引,列里的值就不能重复,
主键索引在检索中比唯一索引快,
一个表只能有一个主键索引,一个表可以有多个唯一索引,
索引的缺点是建立索引需要增加存储空间,空间利用率低,并且数据发生变化时会改变索引资源消耗较大。

四十三·数据库设计时,常遇到的性能瓶颈有哪些,常有的解决方案是?

1·查询速度慢,避免全盘扫描,因为全盘扫描会导致大量的磁盘I/O操作,用sphinx来解决,和添加索引。
2·读写过于频繁,使用读写分离操作。
3·数据库压力大,采用分布式数据库负载均衡来解决。
4·memcache缓存。
5·链接数据库使用pdo,或者mysqli,预处理缓存字段。
6·尽量使用MyISAM。
7·建议表的列不要过多,要适当的多用些表。

四十四·通过js实现页面的前进和后退操作?

<a href="javascript:window.history.go(1)">前进</a>
<a href="javascript:window.history.go(-1)">后退</a>

四十五·浏览器ie和非ie浏览器的区分,区别是什么?

<script>
    var val = navigator.userAgent;
    if(val.search('MSIE')>=0){
        alert('ie浏览器');
    }else{
        alert('非ie浏览器');
    }
</script>

四十六·设定网站的用户数量在千万级,但是活跃用户的数量只有1%,如何通过优化数据库提高活跃用户的访问速度?

1·分区。(分活跃用户表和非活跃用户表)
2·分表。(人为分表,需要在php写一段路由层,判断是活跃用户,或者非活跃用户)
3·索引优化

四十七·ajax技术利用了什么协议,简述一下ajax的工作机制?

利用http协议
工作原理:
1·先通过浏览器内置的XMLHttpRequest类产生一个ajax对象,
2·调用ajax对象open方法建立一个与某一个脚本发生通讯的链接
3·设定好传输方式get/post,还要确定是异步还是同步,默认是异步
4·调用ajax的send方法发送请求,发起对php文件的请求
5·通过给ajax绑定状态检测事件,当状态码为4,并且服务器响应码为200时则获取php文件的响应数据。

<script>
function showHint(str)
{
  var xmlhttp;
  if (str.length==0)
  { 
    document.getElementById("txtHint").innerHTML="";
    return;
  }
  if (window.XMLHttpRequest)
  {
    // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xmlhttp=new XMLHttpRequest();
  }
  else
  {
    // IE6, IE5 浏览器执行代码
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","/try/ajax/gethint.php?q="+str,true);
  xmlhttp.send();
}
</script>

四十八·利用php打印出前一天的时间格式是2017-8-10 22:21:50?

echo date('Y-n-d H:i:s',strtotime('-1 day'));

四十九·echo ,print ,print_r的区别是什么?

1·echo 和print是语言结构,print_r是函数
2·echo 可以有多个参数,print,print_r只能有一个参数
3·print()只能打印简单的数据类型变量的值(int ,string)
print_r()可以打印出复杂类型变量的值(数组,对象)
echo 可以输出一个或者多个字符串

五十·能够使html和php分离开使用的模板引擎?

Smarty,template,thinkphp,laravel,yii