首页 >后端开发 >php教程 >php基础三 之文件系统

php基础三 之文件系统

不言
不言原创
2018-04-26 14:23:071509浏览

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

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

相关推荐:

php基础一

php基础二


以上是php基础三 之文件系统的详细内容。更多信息请关注PHP中文网其他相关文章!

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