php笔记

现在想想 感觉已经快把php抛弃了~太久不敲代码,手是真的生了,以前虽然学了不少,但是基本上已经还给老师了,正好为渗透巩固下基础,再来学一遍!
挑选自己不会的记录下来~

php内置常量
";
    echo(__FUNCTION__);//返回函数定义时候的名字
    echo"
"; echo(__DIR__); echo"
"; echo(PHP_OS);//操作系统类型 echo"
"; echo(PHP_VERSION);//php的版本 ?>
php全局变量

28bb062b36c03af8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

如果想要在函数体内部输出
第一种方法:

";
echo $room."这是代码间访问";
?>

第二种方法:

";
echo $room."这是代码间访问";
?>
image.png
变量的销毁
如果是全局变量则不会被销毁,如果是局部变量则会被销毁。


";
echo $a;
?>
image.png
//局部变量
";
echo $a;
?>

image.png
单引号 与双引号的区别
";
echo "$a";
?>
image.png
计算字符串的长度

image.png
统计字符串中单词的个数

image.png
清理字符串中的空格
";
echo rtrim($people)."end";//清理右侧空格
echo "
"; echo trim($people)."end";//清理两侧的空格 ?>
image.png
字符串的切分与组合

image.png
字符串转换大小写
";//转换为小写
echo strtoupper($a)."
";//转换为大写 echo ucfirst($a)."
";//整个字符串首字母大写 echo ucwords($a)."
";//整个字符穿中 带空格为分隔符的首字母大写 ?>
image.png
数组遍历
 298,'标准间'=> 268,'三床房'=> 198,'VIP套房'=> 368);
foreach ($prices_per_day as $price){
    echo $price."
"; } foreach ($prices_per_day as $key => $value){ echo $key.":".$value." 每天。
"; } reset($prices_per_day); while ($element = each($prices_per_day)){ echo $element['key']."\t"; echo $element['value']; echo "
"; } reset($prices_per_day); while (list($type, $price) = each($prices_per_day)){ echo "$type - $price
"; } ?>
image.png
遍历多维数组
'单床房',
                             'info'=>'此房间为单人单间。',
               'price_per_day'=>298
                           ),
            array( 'type'=>'标准间',
                             'info'=>'此房间为两床标准配置。',
               'price_per_day'=>268
                           ),
            array( 'type'=>'三床房',
                             'info'=>'此房间备有三张床',
               'price_per_day'=>198
                           ),
            array( 'type'=>'VIP套房',
                             'info'=>'此房间为VIP两间内外套房',
               'price_per_day'=>368
                           )
  );
  for ($row = 0; $row < 4; $row++){
    while (list($key, $value ) = each( $roomtypes[$row])){
        echo "$key:$value"."\t |";
  }    
    echo '
'; } ?>
image.png
字符串与数组的转换
 298,'标准间'=> 268,'三床房'=> 198,'VIP套房'=> 368);
echo implode('元每天/ ',$prices_per_day).'
'; $roomtypes ='单床房,标准间,三床房,VIP套房'; print_r(explode(',',$roomtypes)); ?>
image.png
数组 添加删除元素

image.png


";
   print_r($serivces);
?>
'洗衣','s2'=>'订餐','s3'=>'导游','s4'=>'翻译');
   $deletedserivces = array_pop($serivces); //删除最后一个元素
   echo $deletedserivces."
"; print_r($serivces); ?>
查询数组中的指定元素
 298,'标准间'=> 268,'三床房'=> 198,'VIP套房'=> 368);

if(in_array( '单床房',$roomtypes)){echo '单床房元素在数组$roomtypes中。
';} if(array_key_exists( '单床房',$prices_per_day)){echo '键名为单床房的元素在数组$prices_per_day中。
';} if(array_search( 268,$prices_per_day)){echo '值为268的元素在数组$prices_per_day中。
';} $prices_per_day_keys = array_keys($prices_per_day); print_r($prices_per_day_keys); $prices_per_day_values = array_values($prices_per_day); print_r($prices_per_day_values); ?>
image.png
删除数组中的重复元素
 298,'标准间'=> 268,'三床房'=> 198,'四床房'=> 198,'VIP套房'=> 368);   
  $prices_per_day2 = array('单床房'=> 298,'标准间'=> 268,'四床房'=> 198,'三床房'=> 198,'VIP套房'=> 368);                  
  print_r(array_unique($prices_per_day));
  print_r(array_unique($prices_per_day2));
?>
image.png
数组的序列化与反序列化

"; $new_arr = unserialize($str); print_r($new_arr); ?>
image.png

php操作文件读取


";
    //var_dump($fp);
    //4.获取文件的大小
    $fileinfo_arr = fstat($fp);
    
    //var_dump($fileinfo_arr);
    //输出文件的信息
    date_default_timezone_set('PRC'); //设置时区
    echo '
文件大小是:' . $fileinfo_arr['size']; echo '
文件的创建时间:' . date('Y-m-d H:i:s',$fileinfo_arr['ctime']); echo '
文件的修改时间:' . date('Y-m-d H:i:s',$fileinfo_arr['mtime']); echo '
文件的访问时间:' . date('Y-m-d H:i:s',$fileinfo_arr['atime']); }else { echo "不存在,请检查路径"; }
//大文件适合用这种
', $con_str);
    
    $con_str = str_replace("\n",'
', $con_str); echo $con_str; }else { echo '
. 该文件不存在!'; }
file_get_contents()
//适合使用小文件的  10M 大小之内!

', $con_str);
    
    $con_str = str_replace("\n", '
', $con_str); echo $con_str; }else { echo "文件不存在"; }
";
var_dump($arr_ini);


echo '
user = ' . $arr_ini['user']; echo '
pwd = ' . $arr_ini['pwd'];

php操作文件写入

"."文件已经存在,失败";
}

php操作文件 删除文件


 删除陈工';
        
    }
        else {
            echo '
删除失败'; } }else { //如果不存在,则不做操作 echo '
该文件已经删除'; }

php操作文件 修改文件名字

修改成功';
    }else {
        echo '
修改失败.'; } }else { //如果不存在,则不做操作 echo '
该文件不存在'; }

php操作文件目录

//创建文件目录
 成功';
        
    }
    else {
        echo '
失败'; } }

创建多级目录

 成功';
        
    }
    else {
        echo '
失败'; } }

删除单级目录

 成功';
        
    }
    else {
        echo '
失败'; } }

封装文件上传类

$p = $v;
        }
    }
    public function __get($p)
    {
        return $this->$p;
    }
    
    //功能,方法,具体实现文件上传的方法
    public function doUpload($file)
    {
        // sleep(5);
        //将临时文件移动到服务器的目录中
        //参数1:临时的文件名
        //参数2:目的地文件名
        //上传成功返回true,失败返回false
        $destination = $this->upload_path;
        
        //1. 限制上传文件的大小
        $maxsize = $this->maxsize;     //200KB
        if($file['size'] > $maxsize){
            echo '图片太大了,服务器撑不下';
            exit;
        }
        //2. 防止文件重复
        //首先生成一个唯一的随机数作为文件的名字
        //参数1:前缀
        //参数2:布尔值,如果true化,更具有唯一性
        $filename = uniqid($this->prefix,true);
        //确定文件的后缀
        //strrchr()用来获得一个字符串中最后一次出现的字符,返回从该字符之后的部分
        //参数1:look needle from haystack,大海捞针
        $ext = strrchr($file['name'], '.');
        $new_filename = $filename.$ext;
        
        //3. 分目录存储上传的文件
        //按照日期创建子目录
        date_default_timezone_set('PRC');
        $sub_path = date('Ymd').'/';
        //创建目录,先判断下  uploads/20170330是否存在,如果不存在则创建该目录
        if(!is_dir($destination.$sub_path)){
            mkdir($destination.$sub_path,0777,true);
        }
        $destination .= $sub_path.$new_filename;
        
        //4. 上传的文件类型是否支持
        $allow_type = $this->allow_type;
        $true_type = $file['type'];
        if(!in_array($true_type, $allow_type)){
            echo '不支持该类型的文件';
            exit;
        }
        //实例化finfo对象,用来获得一个文件的真实的类型
        /*
        $finfo = new finfo(FILEINFO_MIME_TYPE);
        
        $type = $finfo -> file($file['tmp_name']);
        if(!in_array($type, $allow_type)){
            echo '不支持该类型的文件';
            exit;
        }*/
        
        if(move_uploaded_file($file['tmp_name'], $destination)){
            //上传成功之后,要把地址返回,而且将来这个地址还要保存到数据库
            //通常返回从日期开始的相对的路径,便于将来进行拼接
            return $sub_path.$new_filename;
        }else{
            return false;
        }
        
    }
    
}

cau'o'zuo

 找不到';
    exit;
}


$full_name = 'img/'.$file;
$file_size = filesize($full_name);
iconv('utf-8', 'gbk', $full_name);


//顺序不能乱
//高速浏览器回应的文件是内容注意保存
header("Content-Type: application/otect-stream");
//按照字节返回
header("Accept-Ranges: bytes");
//显示文件大小
header("Content-length: $file_size");
//弹出对话框 ,对应的文件名!
header("Content-Disposition: attachment; filename=".$_file);


$fp = fopen($full_name, 'r');

while(!feof($fp)){
    $data = fread($fp, 1024);
    echo $data;
    
}
fclose($fp);

你可能感兴趣的:(php笔记)