搜尋
首頁後端開發php教程php学习基础-文件系统(2) 文件读写操作、文件资源处理

php学习基础-文件系统(二) 文件读写操作、文件资源处理

一、文件的打开与关闭

/* *读取文件中的内容 *	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:[email protected]: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学习基础-文件系统(2) 文件读写操作、文件资源处理" >/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 '
'; //改写文件中的内容 $str=preg_replace($zz, $rep, $str); file_put_contents("config.inc.php", $str); //再写回文件}?>
host :
user:
pass:
dbname
tabPREFIX


四、读取文件中得sql,执行sql

$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><pre code_snippet_id="324578" snippet_file_name="blog_20140503_6_8088416" name="code" class="php">    $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);   //关闭文件资源



陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
鸿蒙原生应用随机诗词鸿蒙原生应用随机诗词Feb 19, 2024 pm 01:36 PM

想了解更多关于开源的内容,请访问:51CTO鸿蒙开发者社区https://ost.51cto.com运行环境DAYU200:4.0.10.16SDK:4.0.10.15IDE:4.0.600一、创建应用点击File->newFile->CreateProgect。选择模版:【OpenHarmony】EmptyAbility:填写项目名,shici,应用包名com.nut.shici,应用存储位置XXX(不要有中文,特殊字符,空格)。CompileSDK10,Model:Stage。Device

使用java的File.length()函数获取文件的大小使用java的File.length()函数获取文件的大小Jul 24, 2023 am 08:36 AM

使用Java的File.length()函数获取文件的大小文件大小是在处理文件操作时很常见的一个需求,Java提供了一个很方便的方法来获取文件的大小,即使用File类的length()方法。本文将介绍如何使用该方法来获取文件的大小,并给出相应的代码示例。首先,我们需要创建一个File对象来表示我们想要获取大小的文件。以下是创建File对象的方法:Filef

php blob怎么转filephp blob怎么转fileMar 16, 2023 am 10:47 AM

php blob转file的方法:1、创建一个php示例文件;2、通过“function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })}”方法实现Blob转File即可。

使用java的File.renameTo()函数重命名文件使用java的File.renameTo()函数重命名文件Jul 25, 2023 pm 03:45 PM

使用Java的File.renameTo()函数重命名文件在Java编程中,我们经常需要对文件进行重命名的操作。Java提供了File类来处理文件操作,其中的renameTo()函数可以方便地重命名文件。本文将介绍如何使用Java的File.renameTo()函数来重命名文件,并提供相应的代码示例。File.renameTo()函数是File类的一个方法,

使用java的File.getParentFile()函数获取文件的父目录使用java的File.getParentFile()函数获取文件的父目录Jul 27, 2023 am 11:45 AM

使用java的File.getParentFile()函数获取文件的父目录在Java编程中,我们经常需要操作文件和文件夹。当我们需要获取文件的父目录时,可以使用Java提供的File.getParentFile()函数来完成。本文将介绍如何使用这个函数并提供代码示例。Java中的File类是用于操作文件和文件夹的主要类。它提供了许多方法来获取和操作文件的属性

五个精选的Go语言开源项目,带你探索技术世界五个精选的Go语言开源项目,带你探索技术世界Jan 30, 2024 am 09:08 AM

在当今科技快速发展的时代,编程语言也如雨后春笋般涌现出来。其中一门备受瞩目的语言就是Go语言,它以其简洁、高效、并发安全等特性受到了许多开发者的喜爱。Go语言以其强大的生态系统而著称,其中有许多优秀的开源项目。本文将介绍五个精选的Go语言开源项目,带领读者一起探索Go语言开源项目的世界。KubernetesKubernetes是一个开源的容器编排引擎,用于自

Go语言开发必备:5个热门框架推荐Go语言开发必备:5个热门框架推荐Mar 24, 2024 pm 01:15 PM

《Go语言开发必备:5个热门框架推荐》Go语言作为一门快速、高效的编程语言,受到越来越多开发者的青睐。为了提高开发效率,优化代码结构,很多开发者选择使用框架来快速搭建应用。在Go语言的世界中,有许多优秀的框架可供选择。本文将介绍5个热门的Go语言框架,并提供具体的代码示例,帮助读者更好地理解和使用这些框架。1.GinGin是一个轻量级的Web框架,拥有快速

使用java的File.getParent()函数获取文件的父路径使用java的File.getParent()函数获取文件的父路径Jul 24, 2023 pm 01:40 PM

使用java的File.getParent()函数获取文件的父路径在Java编程中,我们经常需要操作文件和文件夹。有时候,我们需要获取一个文件的父路径,也就是该文件所在文件夹的路径。Java的File类提供了getParent()方法用于获取文件或文件夹的父路径。File类是Java对文件和文件夹的抽象表示,它提供了一系列操作文件和文件夹的方法。其中,get

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。