欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php基础学习:PHP文件系统

程序员文章站 2022-03-13 08:47:29
...
在学习中会经常遇到文件系统,本文将将讲解php文件系统的操作。

<!-- PHP文件系统 -->

<?php 
    readfile("/home/paul/text.txt"); 
    $filename = 'NoAlike.txt'; 
    $filestring = file_get_contents($filename); 
    echo $filestring; 
//     fopen\fread\fclose操作读取文件 
    $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!\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('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, "文件这个时候被我占用了哟\n"); 
        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 = 'https://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′,′.∗?′′$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基础学习:图像处理

通过cURL来做小偷程序

php会话管理和控制

以上就是php基础学习:PHP文件系统的详细内容,更多请关注其它相关文章!

相关标签: php 系统 文件