<?php
/**
// 一行一行读取一个文件 (文件内容很大的时候,适用。file_get_contents此场景就不太好)
$re = fopen("index.php","r+");
while (!feof($re)){
$char = fgets($re);// fgets获取一行,fgetc获取一个字符
echo $char;
}
fclose($re);
**/
fopen的第二个必须参数是打开模式;如下图
/**
// 多个进程去写一个文件,进行上锁机制
$file = fopen("indexfile.php", "a+");// a+读写追加 ;w+ 全部截掉文件内容,重新读写入;
if (flock($file, LOCK_EX)){ // 排他锁exclusive
fwrite($file, "1111what are you doing\n");
flock($file, LOCK_UN);// 释放锁 unlock
}else{
echo "flock fail";
}
fclose($file);// 该函数实际也调用了释放锁
**/
/**
// 获取文件名称
echo basename("/data/www/test/filesystem.php"),"\n";
// 获取目录名称
echo dirname("/data/www/test/filesystem.php"),"\n";
echo __DIR__,"\n";
// 操作一个url,获取相关信息(注意php函数的使用
$url_info = parse_url(‘http://www.google.com/abc/xyz/fck.php?id=1#sharp‘);// parse_url处理url足够了。。第二个可选参数是php常量,直接获取数组中的某个value
var_dump($url_info);
$result = pathinfo($url_info[‘path‘]);// pathinfo()可以info出一些文件名、目录名、后缀名等信息
var_dump($result);
array(5) {
["scheme"]=>
string(4) "http"
["host"]=>
string(14) "www.google.com"
["path"]=>
string(16) "/abc/xyz/fck.php"
["query"]=>
string(4) "id=1"
["fragment"]=>
string(5) "sharp"
}
array(4) {
["dirname"]=>
string(8) "/abc/xyz"
["basename"]=>
string(7) "fck.php"
["extension"]=>
string(3) "php"
["filename"]=>
string(3) "fck"
}
**/