PHP之文件操作(7)

PHP Filesystem 函数

文件读取:

// NoAlike.txt
爱的色放付付付
阿斯蒂芬老客户
// 读取NoAlike.txt文件的内容
//假设我们有一个多行的文件叫NoAlike.txt,没有的话你可以新建一个这个文件 
$filename = 'NoAlike.txt'; 
//打开这个文件,将文件内容赋值给
$filestring $filestring = file_get_contents($filename); 
//因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组
$filearray = explode("\n", $filestring); 
//把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。
while (list($key, $val) = each($filearray)) { 
	 ++$key;
	 $val = trim($val); 
	 print 'Line' . $key .':'. $val.'<br />'; 
}
// 最终输出:
Line1:爱的色放付付付
Line2:阿斯蒂芬老客户

以只读模式打开NoAlike.txt

<?php
    //以只读模式打开NoAlike.txt
    $fp = fopen('NoAlike.txt', "r");
    /**
     * var_dump()操作一下$fp看看效果,
     * 输出的是不是只有类型提示的是resource
     * */
    var_dump($fp);
    $contents = fread($fp,1024);
    fclose($fp);
    echo $contents;
?>
// 输出为:
resource(3, stream)
爱的色放付付付 阿斯蒂芬老客户

写入文件:

<?php
    header("Content-Type:text/html;charset=UTF-8");
    $data = "我是一个兵,来自老百姓";
    $numbytes = file_put_contents('binggege.txt', 
$data);
    if($numbytes){
        echo '写入成功,我们读取看看结果试试:';
        echo file_get_contents('binggege.txt');
    }else{
        echo '写入失败或者没有权限,注意检查';
    }
?>
// 文件不存在,会自动创建binggege.txt文件,并把$data的内容写入
// 刷新多次,文件中依然只写了$data一句话

计算某文件有多少字节

<?php
    header("Content-Type:text/html;charset=UTF-8");
    $filename = 'test.txt';
    $fp= fopen($filename, "w");
    $len = fwrite($fp, '我是一只来自南方的狼,
一直在寻找心中的花姑娘');
    fclose($fp);
    print $len."字节被写入了\n";
?>

创建临时文件

<?php
    header("Content-Type:text/html;charset=UTF-8");
    //创建了一个临时文件
    $handle = tmpfile();
    //向里面写入了数据
    $numbytes = fwrite($handle, '写入临时文件');
    //关闭临时文件,文件即被删除
    fclose($handle);
    echo  '向临时文件中写入了'.$numbytes . '个字节';
?>
文件不存在,会自动创建并写入内容,
创建临时文件,写入成功,计算字节,关闭即销毁文件

重命名文件

<?php
    //旧文件名
    $filename = 'test.txt';
    //新文件名
    $filename2 = $filename . '.old';
    //修改名字
    rename($filename, $filename2);
?>

// 需保证旧文件存在,不然无法更改

复制文件

<?php
    //旧文件名
    $filename = 'binggege.txt';
    //新文件名
    $filename2 = $filename . '_new';
    //复制文件
    copy($filename, $filename2);
?>

// binggege.txt_new

安装文件锁:

<?php
header("Content-Type:text/html;charset=UTF-8");
if(file_exists('install.lock')){
    echo '已安装,请不要再次进行安装';
    exit;
}else{
    echo '请安装文件锁';
}
?>

获取文件的扩展名

//获取扩展名extension伸展,扩展。ext文件系统
function getExtension($filename){
	//substr(string,start,length)函数返回字符串的一部分。
	/*strrpos(string,find,start)
	函数查找字符串在另一个字符串中最后一次出现的位置
	如果成功,则返回位置,否则返回 false*/
	$myext = substr($filename, strrpos($filename, '.'));
	return str_replace('.','',$myext); 
	//str_replace(find,replace,string,count)函数使用一个字符串替换字符串中的另一些字符
}
$filename = '我的文档.doc';
echo getExtension($filename);

获取文件大小并格式化

//PHP获取文件大小并格式化
function formatSize($size) {
	$sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
	if ($size == 0) {
		return('n/a');
	}else{
		$i = floor(log($size, 1024));
		return (round($size/pow(1024, $i), 2) . $sizes[$i]);
	}
}
$thefile = filesize('16.php');
echo "{$thefile}<br>";
echo formatSize($thefile);

列出目录下的文件名

//PHP列出目录下的文件名 
function listDirFiles($DirPath){
	if($dir = opendir($DirPath)){

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

			if(!is_dir($DirPath.$file)){
				echo "filename: $file<br />";
			}
			
		}
	}
}
listDirFiles('./');

获取当前文件的绝对地址:

<?php
//str_replace() 字符串替换操作,区分大小写 mix str_replace(mix
//$search,,mix $replace,mix $subject[,int &$num])
$_current_file = str_replace(array('/', '\\'), 
DIRECTORY_SEPARATOR, __FILE__);
define('__CUR_FILE__', $_current_file);
echo __CUR_FILE__;
?>

创建图片:

<?php
//创建图片
$img = imagecreatetruecolor(500, 500);
//分配颜色
$red = imagecolorallocate($img, 255, 0, 0);
$green = imagecolorallocate($img, 0, 255, 0);
$blue = imagecolorallocate($img, 0, 0, 255);
$pur = imagecolorallocate($img, 255, 0, 255);
$yellow = imagecolorallocate($img, 121, 72, 0);
//填充背景
imagefilledrectangle($img, 0, 0, 500, 500, $green);
//画对角线
imageline($img, 0, 0, 500, 500, $red);
imageline($img, 500, 0, 0, 500, $blue);
//画圆
imagefilledellipse($img, 250, 250, 200, 200, $yellow);
//圆中间画矩形
imagefilledrectangle($img, 200, 200, 300, 300, $blue);
//保存图片,图片名为haha.jpg
imagejpeg($img, 'haha.jpg');
//销毁资源
imagedestroy($img);
?>

使用CURL请求

<?php
header("Content-Type:text/html;charset=UTF-8");
$content = get('http://www.xmtnews.com/events');
var_dump($content);

preg_match('/<section class="ov">(.*?)<div class="hr-10"><\/div>/mis',$content,$match);
//将正则匹配到的内容赋值给$area
var_dump($match);
$area = $match[1];
preg_match_all('/<h3><a href="(.*?)" title=".*?" class="headers" target="_blank">(.*?)<\/a><\/h3>/', $area, $find);
var_dump($find);
foreach($find[0] as $key=>$val){
    echo $val;
}
function get($url) {
    //初使化curl
    $ch = curl_init();
    //请求的url,由形参传入
    curl_setopt($ch, CURLOPT_URL, $url);
    //将得到的数据返回
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //不处理头信息
    curl_setopt($ch, CURLOPT_HEADER, 0);
    //连接超过10秒超时
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    //执行curl
    $output = curl_exec($ch);
    //关闭资源
    curl_close($ch);
    //返回内容
    return $output;
}
?>

创建一个目录树

/**
*创建一个目录树
*@param[type]$dir[description]
*@param integer$mode[description]
*@return[type][description]
*/
function mkdirs($dir,$mode=0777){
  if(!is_dir($dir)){
    mkdirs(dirname($dir),$mode);
    return mkdir($dir,$mode);
  }
  return true;
}
项目源码rar+百度云盘视频链接 项目描述: 01_vue项目_项目功能演示.avi 02_Vue项目_项目开发准备.avi 03_Vue项目_创建项目并运行.avi 04_Vue项目_资源准备.avi 05_Vue项目_项目源码目录设计.avi 06_Vue项目_stylus使用.avi 07_Vue项目_组件化编码.avi 08_Vue项目_引入vue-router.avi 09_Vue项目_FooterGuide组件.avi 10_Vue项目_各导航路由组件(静态).avi 11_Vue项目_HeaderTop组件.avi 12_Vue项目_使用swiper实现商品分类列表轮播.avi 13_Vue项目_ShopList组件(静态).avi 14_Vue项目_Login组件(静态).avi 15_Vue项目_启动后台应用并测试接口.avi 16_Vue项目_封装ajax请求函数.avi 17_Vue项目_封装接口请求函数.avi 18_Vue项目_使用git对项目进行版本控制.avi 19_Vue项目_复习.avi 20_Vue项目_配置代理实现跨域ajax请求.avi 21_Vue项目_创建vuex的整体结构.avi 22_Vue项目_使用vuex管理首页数据.avi 23_Vue项目_异步显示当前地地址.avi 24_Vue项目_异步显示食品分类轮播列表.avi 25_Vue项目_使用watch和$nextTick解决轮播的bug.avi 26_Vue项目_异步显示商家列表.avi 27_Vue项目_使用svg显示加载中提示界面.avi 28_Vue项目_Star组件.avi 29_Vue项目_注册登陆功能演示说明.avi 30_Vue项目_登陆界面效果1_切换登陆方式.avi 31_Vue项目_登陆界面效果2_手机号检查.avi 32_Vue项目_登陆界面效果3_倒计时效果.avi 33_Vue项目_登陆界面效果4_切换密码的显示和隐藏.avi 34_Vue项目_登陆界面效果5_前台表达验证.avi 35_Vue项目_复习.avi 36_Vue项目_动态一次性图形验证码.avi 37_Vue项目_定义接口请求函数.avi 38_Vue项目_登陆_发送短信验证码.avi 39_Vue项目_登陆_完成登陆请求.avi 40_Vue项目_登陆_保存用户信息到vuex.avi 41_Vue项目_登陆后更新个人中心界面.avi 42_Vue项目_登陆更新跳转路由.avi 43_Vue项目_自动登陆.avi 44_Vue项目_退出登陆.avi 45_Vue项目_搭建商家整体界面.avi 46_Vue项目_json的理解.avi 47_Vue项目_设计json数据.avi 48_Vue项目_使用mockjs模拟接口数据.avi 49_Vue项目_ajax请求mockjs模拟的接口.avi 50_Vue项目_ShopHeader组件.avi 51_Vue项目_复习.avi 52_Vue项目_异步显示goods数据.avi 53_Vue项目_滑动效果分析.avi 54_Vue项目_使用better-scroll实现回弹滑动.avi 55_Vue项目_收集scrollY.avi 56_Vue项目_收集tops.avi 57_Vue项目_滑动右侧列表更新当前分类.avi 58_Vue项目_解决惯性滑动不更新当前分类的bug.avi 59_Vue项目_点击分类项滑动右侧列表.avi 60_Vue项目_CartControl组件1.avi 61_Vue项目_CartControl组件2.avi 62_Vue项目_Food组件1.avi 63_Vue项目_Food组件2.avi 64_Vue项目_ShopCart组件1.avi 65_Vue项目_ShopCart组件2.avi 66_Vue项目_显示购物项列表.avi 67_Vue项目_解决列表显示的3个bug.avi 68_Vue项目_复习.avi 69_Vue项目_购物车动画.avi 70_Vue项目_购物车列表的滑动.avi 71_Vue项目_清空购物车.avi 72_Vue项目_ShopRatings组件1.avi 73_Vue项目_ShopRatings组件2.avi 74_Vue项目_ShopInfo组件1.avi 75_Vue项目_ShopInfo组件2.avi 76_Vue项目_ShopInfo组件3.avi 77_Vue项目_Search组件.avi 78_Vue项目_缓存路由组件对象.avi 79_Vue项目_路由组件懒加载.avi 80_Vue项目_图片懒加载vue-lazyload.avi 81_Vue项目_使用moment实现日期过滤器.avi 82_Vu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值