一、文件的打开与关闭
/* *读取文件中的内容 * file_get_contents(); //php5以上 * file() * readfile(); * * 不足:全部读取, 不能读取部分,也不能指定的区域 * * fopen() * fread() * fgetc() * fgets() * * * * * 写入文件 * file_put_contents(“URL”, “内容字符串”); //php5以上 * 如果文件不存在,则创建,并写入内容 * 如果文件存在,则删除文件中的内容,重新写放 * * 不足: 不能以追加的方式写,也不能加锁 * * fopen() * fwrite() 别名 fputs * * * 本地文件: * ./test.txt * c:/appserv/www/index.html * /usr/local/apahce/index.html * * 远程: * http://www.baidu.com * http://www.163.com * * ftp://user@pass:www.baidu.com/index.php * *///读取出所有行 $lines=file("lampcms.sql");$sqlstr="";foreach($lines as $line){ $line=trim($line); if($line!=""){ if(!($line{0}=="#" || $line{0}.$line{1}=="--")){ $sqlstr.=$line; } }}$sqlstr=rtrim($sqlstr,";");$sqls=explode(";",$sqlstr);echo '<pre class="brush:php;toolbar:false">';print_r($sqls);echo '
$str=file_get_contents("http://www.163.com");preg_match_all('/\<img alt="php学习基础-文件系统(二) 文件读写操作、文件资源处理" >/i',$str, $images);$imgs=""; foreach($images[0] as $img){ $imgs.=$img.'<br>';}echo file_put_contents("test.txt", $imgs);
if(isset($_POST["sub"])){ setConfig($_POST);}function setConfig($post){ //读取文件中的内容 $str=file_get_contents("config.inc.php"); $zz=array(); $rep=array(); foreach($post as $key=>$value ){ $zz[]="/define\(\"{$key}\",\s*.*?\);/i"; $rep[]="define(\"{$key}\", \"{$value}\");"; } echo '<pre class="brush:php;toolbar:false">'; print_r($zz); print_r($rep); echo '
$lines=file("lampcms.sql");$sqlstr="";foreach($lines as $line){ $line=trim($line); if($line!=""){ if(!($line{0}=="#" || $line{0}.$line{1}=="--")){ $sqlstr.=$line; } }}$sqlstr=rtrim($sqlstr,";");$sqls=explode(";",$sqlstr);echo '<pre class="brush:php;toolbar:false">';print_r($sqls);echo '
五、向文件中写入内容
/*写入文件 * file_put_contents(“URL”, “内容字符串”); //php5以上 * 如果文件不存在,则创建,并写入内容 * 如果文件存在,则删除文件中的内容,重新写放 * * 不足: 不能以追加的方式写,也不能加锁 * * fopen() * fwrite() 别名 fputs */ $file=fopen("./test.txt", "a"); //如果打开文件成功返回资源,如果失败返回false for($i=0; $i <br> <br> <p></p> <p>六、循环读取文件每次按照固定长度读取</p> <p></p> <pre name="code" class="sycode"> $file=fopen("http://www.163.com", "r"); //如果打开文件成功返回资源,如果失败返回false $str=""; while(!feof($file)){ $str.=fread($file, 1024); } echo $str; fclose($file); //关闭文件资源
七、文件常用函数实例
$file=fopen("./test.txt", "r"); //如果打开文件成功返回资源,如果失败返回false echo ftell($file)."<br>"; echo fread($file, 10)."<br>"; echo ftell($file)."<br>"; echo fread($file, 10)."<br>"; echo ftell($file)."<br>"; fseek($file,100, SEEK_CUR); echo ftell($file)."<br>"; echo fread($file, 10)."<br>"; echo ftell($file)."<br>"; fseek($file,-20, SEEK_END); echo fread($file, 20)."<br>"; echo ftell($file)."<br>"; rewind($file); //回到文件头部 echo ftell($file)."<br>"; echo fread($file, 20)."<br>"; fclose($file); //关闭文件资源