0

0

php基础三 之文件系统

不言

不言

发布时间:2018-04-26 14:23:07

|

1804人浏览过

|

来源于php中文网

原创

这篇文章介绍的内容是关于php的基础 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

<!-- PHP文件系统 -->
<?php
    readfile("/home/paul/text.txt");
    $filename = 'NoAlike.txt';
    $filestring = file_get_contents($filename);
    echo $filestring;
//     fopenreadclose操作读取文件
    $fp = fopen('NoAlike.txt', "r");//r、r+、w、w+
    $contents = fread($fp, 1024);
    fclose($fp);
    var_dump($fp);
    
    $date = "在PHP中文网学好PHP,妹子票子不在话下!";
    $numbyte = file_put_contents('binggege.txt', $data);
    if ($numbyte) {
        echo '写入成功,我们读取看看结果试试:';
        echo file_get_contents('binggege.txt');
    }else{
        echo '写入失败或者没有权限,注意检查';
    }
    
//     fwrite配合fopen进行写入操作
    $filename = 'test.txt';
    $fp = fopen($filename, "r+");//x、a
    $len = fwrite($fp, '我是一只来自南方的狼,一直在');
    
    //创建临时文件
    $handle = tmpfile();
    $numbytes = fwrite($handle, '写入临时文件');
    fclose($handle);
    echo '向临时文件中写入了'.$numbytes.'个字节';
    
    //移动、拷贝和删除文件
    rename($oldname, $newname);
    $filename = 'test.txt';
    $filename2 = $filename.'old';
    rename($oldname, $oldname2);
    copy($oldname, $oldname2);
    if (unlink($filename)) {
        echo  "删除文件成功$filename!
";
    }else {
        echo "sc $filename失败!
";
    }
    
    //检测文件属性函数
    file_exists($filename);//文件是否存在
    is_readable($filename);//文件是否可读
    is_writable($filename);//文件是否可写
    is_executable($filename);//文件是否可执行
    is_file($filename);//是否是文件
    is_dir($filename);//是否是目录
    clearstatcache();//清楚文件的状态缓存
    if (file_exists('install.lock')) {
        echo '已安装,请不要再次安装';
        exit;
    }
    
    //文件常用函数和常量
    $_current_file = str_replace(
        array('/','\'), DIRECTORY_SEPARATOR, __FILE___);
    define('_CUR_FILE_', $_current_file);
    echo _CUR_FILE_;
    rewind($handle);//指针回到开始处
    fseek($handle, $offset);//文件指针向后移动指定字符
    $fp = fopen('demo2.txt', 'r+');
    echo fread($fp, 10);
    rewind($fp);
    echo '<br>';
    echo fread($fp, 10);
    echo '<br>';
    echo fseek($fp, 10);
    echo '<br>';
    echo fread($fp, 10);
    echo '<br>';
    fclose($fp);
    $filename = 'demo.txt';
    echo $filename . '文件大小为:'.
        filesize($filename).'bytes';
    filectime($filename);//文件创建时间
    filemtime($filename);//文件修改时间
    fileatime($filename);//文件上次访问时间
    $filename = 'demo.txt';
    if (file_exists($filename)) {
        echo '$filename文件的上次访问时间是:'.date("Y-m-d H:i:s"
            ,filectime($filename));
        echo '$filename文件的上创建时间是:'.date("Y-m-d H:i:s"
            ,filectime($filename));
        echo '$filename文件的上次修改时间是:'.date("Y-m-d H:i:s"
            ,filemtime($filename));
    }
    
    //文件锁处理机制
    $fp = fopen("demo.txt", "r+");
    if (flock($fp, LOCK_EX)) {
        fwrite($fp, "文件这个时候被我占用了哟
");
        flock($fp, LOCK_UN);
    }else {
        echo "锁失败,可能有人在操作,这个时候不能将文件上锁";
    }
    fclose($fp);
    
    //目录处理函数
    $dir = "d:/";
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            echo readdir($dh).'<br />';
            echo readdir($dh).'<br />';
            echo readdir($dh).'<br />';
            echo readdir($dh).'<br />';
            closedir($dh);
        };
    }
    $dir = "d:/";
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false){
                echo "文件名为:$file :
                文件的类型是:".filetype($dir.$file).'<br />';
            }
            closedir($dh);
        }
    }
    
    //文件权限设置
    chmod("/var/wwwroot/index.html", 755);
    chmod("/var/wwwroot/index.html", "u+rwx,go+rx");
    chmod("/somedir/somefile", 0755);
    
    //文件路径函数
    pathinfo($path);//返回文件的各个组成部分
    basename($path);//返回文件名
    dirname($path);//文件目录部分
    parse_url($url);//网址拆解成各部分
    http_build_query($query_data);//生成url中的query字符串
    http_build_url();//生成一个url
    $date = [
        'username'=>'php',
        'area'=>'hubei'
    ];
    echo http_build_query($date);
    $path_parts = pathinfo('d:/www/index.inc.php');
    echo '文件目录名:'.$path_parts['dirname']."<br />";
    echo '文件全名:'.$path_parts['basename']."<br />";
    echo '文件扩展名:'.$path_parts['extension']."<br />";
    echo '不包含扩展的文件名:'.$path_parts['filename']."<br />";
    echo "1: ".basename("d:/www/index.d",".d").PHP_EOL;
    echo "2: ".basename("d:/www/index.php").PHP_EOL;
    echo "3: ".basename("d:/www/passwd").PHP_EOL;
    $url = 'http://username:password@hostname:9090/path?arg=value#anchor';
    var_dump(parse_url($url));
    
    //文件留言本
//     date_default_timezone_set('PRC');
    @$string = file_get_contents('message.txt');
    if (!empty($string)) {
        $string = rtrim($string, '&^');
        $arr = explode('&^', $string);
        foreach ($arr as $value){
            list($username, $content, $time) = explode('$#', $value);
            echo '用户名为<font color="gree">'.$username.'</font>';
            echo '<hr />';
        }
    }
    
    $fp=fopen('message.txt', 'a');
    $time=time();
    $username=trim(@$_POST['username']);
    $content=trim(@$_POST['content']);
    if ($username & $content) {
        $string=$username.'$#'.$content.'$#'.$time.'&^';
        fwrite($fp, $string);
        fclose($fp);
    }
 
?>

<h1>基于文本的留言本演示</h1>
<form action="write.php" method="post">
    用户名:<input type="text" name="username" /><br />
    留言内容:<textarea name="content"></textarea><br />
  <input type="submit" value="提交" />
</form>




<!-- 实现修改配置文件的实例 -->
<?php
    include 'config.php';
?>
<form action="edit.php" method="post">
    <input type="text" name="DB_HOST" value="<?php echo DB_HOST;?>" /><br />
    <input type="text" name="DB_USER" value="<?php echo DB_USER;?>" /><br />
    <input type="text" name="DB_PWD" value="<?php echo DB_PWD;?>" /><br />
    <input type="text" name="DB_NAME" value="<?php echo DB_NAME;?>" /><br />
    <input type="submit" value="修改" />
</form>

<!-- edit.php -->
<?php
    $string=file_get_contents('config.php');
    foreach ($_POST as $key=>$val){
        $yx="/define('$key','.*?');/";
        $re="define('$key','$val');";
        $string=preg_replace($yx, $re, $string);
    }
    
    file_put_contents('config.php', $string);
    echo '修改成功';
?>
<!-- config.php -->
<?php
    define('DB_HOST', 'localhost1');
    define('DB_USER', 'root1');
    define('DB_PWD', 'root1');
    define('DB_NAME', 'neirong1');
?>

相关推荐:

php基础一

php基础二

AI工具箱
AI工具箱

AI工具箱是一个全方位AI资源聚合平台

下载

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
抖漫入口地址合集
抖漫入口地址合集

本专题整合了抖漫入口地址相关合集,阅读专题下面的文章了解更多详细地址。

1

2026.03.17

多环境下的 Nginx 安装、结构与运维实战
多环境下的 Nginx 安装、结构与运维实战

本专题聚焦多环境下Nginx实战,详解开发、测试及生产环境的差异化安装策略与目录结构规划。深入剖析配置模块化设计、灰度发布流程及跨环境同步机制。结合监控告警、故障排查与自动化运维工具,提供全链路管理方案,助力团队构建灵活、高可用的Nginx服务体系,从容应对复杂业务场景挑战。

0

2026.03.17

PS 批量添加图片
PS 批量添加图片

本专题整合了PS批量添加图片教程合集,阅读专题下面的文章了解更多详细操作。

0

2026.03.17

Nginx 基础架构:从安装配置到系统化管理
Nginx 基础架构:从安装配置到系统化管理

本专题深入解析Nginx基础架构,涵盖从源码编译与包管理安装,到核心配置文件优化及虚拟主机部署。进一步探讨日志轮转、性能调优、高可用集群构建及自动化运维策略,助力管理员实现从单一服务搭建到企业级系统化管理的全面升级,确保Web服务高效、稳定运行。

1

2026.03.17

mulerun骡子快跑入口地址汇总
mulerun骡子快跑入口地址汇总

本专题整合了mulerun入口地址合集,阅读专题下面的文章了解更多详细内容。

36

2026.03.17

源码编译安装Nginx详解:模块选择、依赖准备与常见错误排查
源码编译安装Nginx详解:模块选择、依赖准备与常见错误排查

本专题详解Nginx源码编译全流程:从GCC、OpenSSL等依赖准备,到按需定制HTTP/SSL/流媒体模块的configure参数策略。深入剖析“缺少库文件”、“配置选项冲突”及“权限错误”等常见报错,提供精准排查思路与解决方案。助您掌握灵活构建高性能、定制化Nginx的核心技能,满足复杂生产环境需求。

1

2026.03.17

Linux环境安装Nginx全流程:apt、yum与源码编译方式深度实操
Linux环境安装Nginx全流程:apt、yum与源码编译方式深度实操

本专题深度实操Linux下Nginx三大安装方式:apt/yum包管理器快速部署,适合新手与标准化运维;源码编译灵活定制模块,满足高性能与特殊需求场景。内容涵盖环境准备、依赖安装、配置优化及平滑升级策略,对比各方案优劣,助您根据业务场景选择最佳实践,构建稳定高效的Web服务基石。

5

2026.03.17

c++ 字符处理
c++ 字符处理

本专题整合了c++字符处理教程、字符串处理函数相关内容,阅读专题下面的文章了解更多详细内容。

7

2026.03.17

minimax视频生成教程汇总
minimax视频生成教程汇总

本专题整合了minimax生成视频相关教程,阅读下面的文章了解更多详细操作。

6

2026.03.17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.4万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号