vs2010,linux fopen函数数,这代码有什么错误吗?为什么读不出文件、、

php文件打开、创建、读取fopen函数的使用说明-Php函数-Php教程-壹聚教程网php文件打开、创建、读取fopen函数的使用说明
本文章来介绍一个简单的文件操作函数fopen,fopen函数可以打开,读取,并且协助文件保存,下面我来给大家总结一下php文件的操作。
最简单语法如下:
fopen(filepath,mode)
下面是打开一个文件的 PHP 代码示例:
$f = fopen(&c:\data\info.txt&, &r&);
其中,c:\data\info.txt 是文件路径,r 表示打开文件的模式(mode) 为只读 (read only) 模式。
讲述使用 PHP 内置函数 fclose 关闭一个文件。
fclose 函数语法如下:
fclose(filepointer)
如果成功,fclose 函数返回 TRUE,如果失败,fclose 函数返回 FALSE。
下面是一个 fclose 函数的 PHP 代码示例:
$f = fopen(&c:\data\info.txt&, &r&);
fclose($f);
fwrite 写入文件
fwrite 函数。
PHP 内置函数 fwrite 用于写入文件。
fwrite 函数的常用语法为:
fwrite(handle,string)
其中,参数 handle 表示文件指针资源 (通常由 fopen 函数创建),string 表示要写入的内容。
下面一个PHP 代码示例演示如何创建一个新文件,并写入内容,然后保存并关闭文件:
$f= fopen(&C:\blabla\php\write.txt&,&w&);
fwrite($f,&It is awesome.&);
fclose($f);echo &done&;
执行该 PHP 文件后,会创建一个路径为 C:blablaphpwrite.txt 的文件,文件的内容是It is awesome.。
如果你想在现有文件上再追加内容,你只要修改 fopen 的 参数 mode 值即可,如下:
$f= fopen(&C:\blabla\php\write.txt&,&a&);
有关 fopen 函数的参数 mode 值,详见 fopen。
fwrite 函数返回写入文件的字节数 (number of bytes) ,如果出错,返回 FALSE。
fgets 读取文件一行内容
用 PHP 内置函数 fgets 可以读取文件的一行内容。
fgets读取文件一行内容的语法是:
fgets(filepointer)
下面我们举个例子讲述如何一行行读取一个文件。
假设我们有一个 sites.txt 文件,该文件有三行,内容如下:
sites.txt 的文件路径是:
C:blablaphpsites.txt
我们用 PHP 一行行读取文件内容,PHP代码如下:
&html&&body&&?php
$f= fopen(&C:\blabla\php\sites.txt&,&r&);
while (!feof($f))
$line = fgets($f);&
echo &site: &,$line,&&br /&&;
}fclose($f);
&/body&&/html&
执行该 PHP 文件,返回的显示结果是:
site: site: site:
该 PHP 代码的第一行是打开文件,最后一行是关闭一个文件。当中的 while 循环语句表示,当文件没有结束,就读取一行,循环执行,直到文件指针到文章末尾为止。
feof 函数是PHP 的一个内置函数,用来测试文件指针是否已经到了文件末尾。如果是返回 TRUE,如果不是,返回 FALSE。eof 的英文意思就是 end of file,很容易记。
正常情况下,fgets 函数的返回值是一个字符串,如果出错,返回 FALSE
上一页: &&&&&下一页:相关内容56936人阅读
C Study(26)
文件的输入输出函数
键盘、显示器、打印机、磁盘驱动器等逻辑设备, 其输入输出都可以通过文件管理的方法来完成。而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 详细介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操作函数也适合于非磁盘文件的情况。
另外, Turbo C2.0提供了两类关于文件的函数。一类称做标准文件函数也称缓冲型文件函数, 这是ANSI标准定义的函数; 另一类叫非标准文件函数, 也称非缓冲型文件函数。这类函数最早公用于UNIX操作系统, 但现在MS-DOS3.0 以上版本的操作系统也可以使用。下面分别进行介绍。
标准文件函数
标准文件函数主要包括文件的打开、关闭、读和写等函数。不象BASIC 、 FORTRAN语方有顺序文件和随机文件之分,
在打开时就应按不同的方式确定。 Turbo C2.0并不区分这两种文件, 但提供了两组函数, 即顺序读写函数和随机读写函数。
一、文件的打开和关闭
任何一个文件在使用之前和使用之后, 必须要进行打开和关闭, 这是因为操作系统对于同时打开的文件数目是有限制的, DOS操作系统中,
可以在DEVICE .SYS中定义允许同时打开的文件数n(用files=n定义)。其中n 为可同时打开的文件数, 一般n&=20。因此在使用文件前应打开文件, 才可对其中的信息进行存取。用完之后需要关闭, 否则将会出现一些意想不到的错误。Turbo C2.0提供了打开和关闭文件的函数。
1. fopen()函数
fopen函数用于打开文件, 其调用格式为:
FILE *fopen(char *filename, *type);
在介绍这个函数之;前, 先了解一下下面的知识。
(1) 流(stream)和文件(file)
流和文件 在Turbo C2.0中是有区别的, Turbo C2.0 为编程者和被访问的设备之间提供了一层抽象的东西, 称之为&流&, 而将具体的实际设备叫做文件。流是一个逻辑设备, 具有相同的行为。因此, 用来进行磁盘文件写的函数也同样可以用来进行打印机的写入。在Turbo C2.0中有两种性质的流:
文字流( text stream)和二进制(binary stream)。对磁盘来说就是文本文件和二进制文件。本软件为了便于让读者易理解Turbo C2.0语言而没有对流和文件作特别区分。
(2) 文件指针FILE
实际上FILE是一个新的数据类型。它是Turbo C2.0的基本数据类型的集合, 称之为结构指针。有关结构的概念将在第四节中详细介绍, 这里只要将FILE理解为一个包括了文件管理有关信息的数据结构, 即在打开文件时必须先定义一个文件指针。
(3) 以后介绍的函数调用格式将直接写出形式参数的数据类型和函数返回值的数据类型。例如: 上面打开文件的函数, 返回一个文件指针, 其中形式参数有两个, 均为字符型变量(字符串数组或字符串指针)。本软件不再对函数的调用格式作详细说明。
现在再来看打开文件函数的用法。
fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。如:
&B:TEST.DAT&
&C://TC//TEST.DAT&
如果将路径写成&C:/TC/TEST.DAT&是不正确的, 这一点要特别注意。
第二个形式参数表示打开文件的类型。关于文件类型的规定参见下表。
文件操作类型
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
────────────────────────────
打开文字文件只读
创建文字文件只写
增补, 如果文件不存在则创建一个
打开一个文字文件读/写
创建一个文字文件读/写
打开或创建一个文件增补
二进制文件(可以和上面每一项合用)
文这文件(默认项)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如果要打开一个CCDOS子目录中, 文件名为CLIB的二进制文件, 可写成:
fopen(&c://ccdos//clib&, &rb&);
如果成功的打开一个文件, fopen()函数返回文件指针,
否则返回空指针 (NULL)。由此可判断文件打开是否成功。
2. fclose()函数
fclose()函数用来关闭一个由fopen()函数打开的文件 , 其调用格式为:
int fclose(FILE *stream);
该函数返回一个整型数。当文件关闭成功时, 返回0, 否则返回一个非零值。可以根据函数的返回值判断文件是否关闭成功。
#iclude&stdio.h&
/*定义一个文件指针*/
fp=fopen(&CLIB&, &rb&);
/*打开当前目录名为CLIB的文件只读*/
if(fp==NULL)
/*判断文件是否打开成功*/
puts(&File open error&);/*提示打开不成功*/
i=fclose(fp);
/*关闭打开的文件*/
/*判断文件是否关闭成功*/
printf(&O,K&);
/*提示关闭成功*/
puts(&File close error&);/*提示关闭不成功*/
二、有关文件操作的函数
本节所讲的文件读写函数均是指顺序读写, 即读写了一条信息后, 指针自动加1。下面分别介绍写操作函数和读操作函数。
1. 文件的顺序写函数
fprintf()、fputs()和fputc()函数
函数fprintf()、fputs()和fputc()均为文件的顺序写操作函数,
其调用格式如下:
int fprintf(FILE *stream, char *format, &variable-list&);
int fputs(char *string, FILE *steam);
int fputc(int ch, FILE *steam);
上述三个函数的返回值均为整型量。fprintf() 函数的返回值为实际写入文件中的字罕个数(字节数)。如果写错误, 则返回一个负数, fputs()函数返回0时表明将string指针所指的字符串写入文件中的操作成功, 返回非0时,
表明写操作失败。fputc()函数返回一个向文件所写字符的值, 此时写操作成功,
否则返回EOF(文件结束结束其值为-1, 在stdio.h中定义)表示写操作错误。
fprintf( ) 函数中格式化的规定与printf( ) 函数相同,
所不同的只是 fprintf()函数是向文件中写入。而printf()是向屏幕输出。
下面介绍一个例子, 运行后产后一个test.dat的文件。
#include&stdio.h&
char *s=&That's good news&);
/*定义字符串指针并初始化*/
int i=617;
/*定义整型变量并初始化*/
/*定义文件指针*/
fp=fopne(&test.dat&, &w&);
/*建立一个文字文件只写*/
fputs(&Your score of TOEFLis&, fp);/*向所建文件写入一串字符*/
fputc(':', fp);
/*向所建文件写冒号:*/
fprintf(fp, &%d/n&, i);
/*向所建文件写一整型数*/
fprintf(fp, &%s&, s);
/*向所建文件写一字符串*/
fclose(fp);
/*关闭文件*/
用DOS的TYPE命令显示TEST.DAT的内容如下所示:
Your score of TOEFL is: 617
That's good news
2. 文件的顺序读操作函数
fscanf()、fgets()和fgetc()函数
函数fscanf()、fgets()和fgetc()均为文件的顺序读操作函数, 其调用格式如下:
int fscanf(FILE *stream, char *format, &address-list&);
char fgets(char *string, int n, FILE *steam);
int fgetc(FILE *steam);
fscanf()函数的用法与scanf()函数相似,
只是它是从文件中读到信息。 fscanf()函数的返回值为EOF(即-1), 表明读错误, 否则读数据成功。fgets()函数从文件中读取至多n-1个字符(n用来指定字符数), 并把它们放入string指向的字符串中, 在读入之后自动向字符串未尾加一个空字符, 读成功返回string指针, 失败返回一个空指针。fgetc()函数返回文件当前位置的一个字符,
读错误时返回EOF。
下面程序读取例11产生的test.dat文件, 并将读出的结果显示在屏幕上。
#include&stdio.h&
char *s, m[20];
fp=fopen(&test.dat&, &r&);
/*打开文字文件只读*/
fgets(s, 24, fp);
/*从文件中读取23个字符*/
printf(&%s&, s);
/*输出所读的字符串*/
fscanf(fp, &%d&, &i);
/*读取整型数*/
printf(&%d&, i);
/*输出所读整型数*/
putchar(fgetc(fp));
/*读取一个字符同时输出*/
fgets(m, 17, fp);
/*读取16个字符*/
/*输出所读字符串*/
fclose(fp);
/*关闭文件*/
/*等待任一键*/
运行后屏幕显示:
Your score of TOEFL is: 617
That's good news
如果将上例中fscanf(fp, &%d&, &i)改为fscanf(fp, &%s&, m),
再将其后的输出语句改为printf(&%s&, m), 则可得出同样的结果。由此可见Turbo C2. 0 中只要是读文字文件, 则不论是字符还是数字都将按其ASCII值处理。 另外还要说明的一点就是fscanf()函数读到空白符时, 便自动结束, 在使用时要特别注意。
3. 文件的随机读写
有时用户想直接读取文件中间某处的信息, 若用文件的顺序读写必须从文件头开始直到要求的文件位置再读, 这显然不方便。Turbo C2.0提供了一组文件的随机读写函数, 即可以将文件位置指针定位在所要求读写的地方直接读写。
文件的随机读写函数如下:
int fseek (FILE *stream, long offset, int fromwhere);
int fread(void *buf, int size, int count, FILE *stream);
int fwrite(void *buf, int size, int count, FILE *stream);
long ftell(FILE *stream);
fseek()函数的作用是将文件的位置指针设置到从fromwhere开始的第offset 字节的位置上, 其中fromwhere是下列几个宏定义之一:
文件位置指针起始计算位置fromwhere ━━━━━━━━━━━━━━━━━━━━━━━━━━━
含义 ───────────────────────────
从文件开头
从文件指针的现行位置
从文件末尾 ━━━━━━━━━━━━━━━━━━━━━━━━━━━
offset是指文件位置指针从指定开始位置(fromwhere指出的位置)跳过的字节数。它是一个长整型量, 以支持大于64K字节的文件。fseek()函数一般用于对二进制文件进行操作。
当fseek()函数返回0时表明操作成功, 返回非0表示失败。
下面程序从二进制文件test_b.dat中读取第8个字节。
#include&stdio.h&
if((fp=fopen(&test_b.dat&, &rb&))==NULL)
printf(&Can't open file&);
fseek(fp, 8. 1, SEEK_SET);
fgetc(fp);
fclose(fp);
fread()函数是从文件中读count个字段, 每个字段长度为size个字节, 并把它们存放到buf指针所指的缓冲器中。
fwrite()函数是把buf指针所指的缓冲器中, 长度为size个字节的count个字段写到stream指向的文件中去。
随着读和写字节数的增大, 文件位置指示器也增大, 读多少个字节, 文件位置指示器相应也跳过多少个字节。读写完毕函数返回所读和所写的字段个数。
ftell()函数返回文件位置指示器的当前值,
这个值是指示器从文件头开始算起的字节数, 返回的数为长整型数, 当返回-1时, 表明出现错误。
下面程序把一个浮点数组以二进制方式写入文件test_b.dat中。
#include &stdio.h&
float f[6]={3.2, -4.34, 25.04, 0.1, 50.56, 80.5};
/*定义浮点数组并初始化*/
fp=fopen(&test_b.dat&, &wb&); /*创建一个二进制文件只写*/
fwrite(f, sizeof(float), 6, fp);/*将6个浮点数写入文件中*/
fclose(fp);
/*关闭文件*/
下面例子从test_b.dat文件中读100个整型数, 并把它们放到dat数组中。
#include &stdio.h&
int dat[100];
fp=fopen(&test_b.dat&, &rb&);/*打开一个二进制文件只读*/
if(fread(dat, sizeof(int), 100, fp)!=100)
/*判断是否读了100个数*/
if(feof(fp))
printf(&End of file&); /*不到100个数文件结束*/
printf(&Read error&);
/*读数错误*/
fclose(fp);
/*关闭文件*/
当用标准文件函数对文件进行读写操作时, 首先将所读写的内容放进缓冲区, 即写函数只对输出缓冲区进行操作, 读函数只对输入缓冲区进行操作。例如向一个文件写入内容, 所写的内容将首先放在输出缓冲区中, 直到输出缓冲区存满或使用fclose()函数关闭文件时, 缓冲区的内容才会写入文件中。若无fclose() 函数, 则不会向文件中存入所写的内容或写入的文件内容不全。有一个对缓冲区进行刷新的函数, 即fflush(), 其调用格式为:
int fflush(FILE *stream);
该函数将输出缓冲区的内容实际写入文件中, 而将输入缓冲区的内容清除掉。
4. feof()和rewind()函数
这两个函数的调用格式为:
int feof(FILE *stream);
int rewind(FILE *stream);
feof()函数检测文件位置指示器是否到达了文件结尾,
若是则返回一个非0 值, 否则返回0。这个函数对二进制文件操作特别有用, 因为二进制文件中,
文件结尾标志EOF也是一个合法的二进制数,
只简单的检查读入字符的值来判断文件是否结束是不行的。如果那样的话, 可能会造成文件未结尾而被认为结尾, 所以就必须有feof()函数。
下面的这条语句是常用的判断文件是否结束的方法。
while(!feof(fp))
fgetc(fp);
while为循环语句, 将在下面介绍。
rewind()函数用于把文件位置指示器移到文件的起点处, 成功时返回0,
否则, 返回非0值。
非标准文件函数
这类函数最早用于UNIX操作系统, ANSI标准未定义,
但有时也经常用到, DOS 3.0以上版本支持这些函数。它们的头文件为io.h。
一、文件的打开和关闭
1. open()函数
open()函数的作用是打开文件, 其调用格式为:
int open(char *filename, int access);
该函数表示按access的要求打开名为filename的文件, 返回值为文件描述字, 其中access有两部分内容: 基本模式和修饰符, 两者用& &(&或&)方式连接。修饰符可以有多个, 但基本模式只能有一个。access的规定如表3-2。
access的规定 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 基本模式
义 ──────────────────────────── O_RDONLY
文件指针指向末尾 O_WRONLY
文件不存在时创建文件,
属性按基本模式属性 O_RDWR
若文件存在, 将其长度
缩为0, 属性不变
打开一个二进制文件
打开一个文字文件 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
open()函数打开成功, 返回值就是文件描述字的值(非负值), 否则返回-1。
2. close()函数
close()函数的作用是关闭由open()函数打开的文件, 其调用格式为:
int close(int handle);
该函数关闭文件描述字handle相连的文件。
二、读写函数
1. read()函数
read()函数的调用格式为:
int read(int handle, void *buf, int count);
read()函数从handle(文件描述字)相连的文件中, 读取count个字节放到buf 所指的缓冲区中, 返回值为实际所读字节数, 返回-1表示出错。返回0 表示文件结束。
2. write()函数
write()函数的调用格式为:
int write(int handle, void *buf, int count);
write()函数把count个字节从buf指向的缓冲区写入与handle相连的文件中, 返回值为实际写入的字节数。
三、随机定位函数
1. lseek()函数
lseek()函数的调用格式为:
int lseek(int handle, long offset, int fromwhere);
该函数对与handle相连的文件位置指针进行定位, 功能和用法与fseek() 函数相同。
2. tell()函数
tell()函数的调用格式为:
long tell(int handle);
该函数返回与handle相连的文件现生位置指针, 功能和用法与ftell()相同。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:213381次
积分:2036
积分:2036
排名:第16841名
原创:17篇
转载:65篇
(1)(1)(1)(1)(4)(2)(3)(4)(16)(3)(10)(11)(6)(6)(3)(3)(3)(1)(3)关于“cvRectangle”: 不能将参数 1 从“cv::Mat”转换为“CvArr *” 两个错误不会修改的搜索推荐 -CPP-TryCatch
>> 相关推荐
关于的搜索推荐
#include&cv.h& #include&highgui.h& intmain(intargc,char**argv) { M if(argc!=2||!(src=imread("1.jpg",1)).data)return-1; M cvtColor(src,hsv,CV_BGR2HSV); //let’squantizethehueto30levels //andthesaturationto32levels inthbins=30,sbins=32; inthistSize[]={hbins,sbins}; //huevariesfrom0to179,seecvtColor floathranges[]={0,180}; //saturationvariesfrom0(black-gray-white)to //255(purespectrumcolor) floatsranges[]={0,256}; constfloat * ranges[]={hranges,sranges}; MatND //wecomputethehistogramfromthe0-thand1-stchannels intchannels[]={0,1}; calcHist(&hsv,1,channels,Mat(),//donotusemask hist,2,histSize,ranges, true,//thehistogramisuniform false); doublemaxVal=0; minMaxLoc(hist,0,&maxVal,0,0); intscale=10; MathistImg=Mat::zeros(sbins * scale,hbins ...
参考 http://www./forum/viewtopic.php?f=1&t=13042
的做法想要自己建置看看,在建置的过程中xyzMap.setTo(cvScalarAll(0));disparityMap.set...
请问,如何将cv::Mat类型的数据转换成CvMat类型呢?如:我定义了一个cv::Mat类型的数据m_frame,然后想把它转换成CvMat类型传入函数void CLightPrep::RunLightPr...
&script language="JavaScript1.2"&/*Pausing updown message scroller- Last updated: 99/07/05 (Bugs fixed, ability to specify background image fo...
我用VS 2005出现错误error C2664: “textout”: 不能将参数 6 从“const char [17]”转换为“LPTSTR”1&
与指向的类型无关;转换要求 reinterpret_cas...
最近新装ADSL,为让ADSL-MODEM自动联网,电信方面让我修改两个参数VPI,VCI.这两个参数起什么作用?...
程序弹出窗体提示错误如:参数不能为null 但代码里搜不到[参数不能为],怎么办?
------------
请贴代码谢谢
如不贴代码请自己断点慢慢找
------------
sDataPath = 'D:\s\';sDataFile = dir(sDataPath); %sDataPath这是你存放dat数据文件的路径m = length(sDataFile);k = 0;for i = 1:m
public class Test {
public static void main(String[] args) {
int times = 0;
Test app = new Test();
for (int i = 0; i & 100;...
我现在需要把IplImage结构体转换为Mat结构体,不知道怎么转换,网上看的试了一下不行啊,强制转换也提示不行,求指教!!...
STR1="DELETEFROM"&BBB&"_GZSPDZWHEREexists"&_"(selectf_qlhlfromrhz2wheref_lsdbm=f_qlhlandf_cd&'"&qq&"')"1.上述语句中BB...
static array&byte& ^ compress(array&byte& ^source)//C++ 方法方法名参数[DllImport(@"lzma_decode_module.dll", EntryPoint = "compress")]p...
程序代码:srand((unsigned)time(NULL));int i=rand();CString strText=_T("");strText-&Format(_T("%6d"),i);编译错误:error C2065: “CString”: 未声...
C:\Windows\System32\apphelp.dll”,Cannot find or open the PDB file
------------
不是错误pdb是符号文件,只有生成了pdb,才能进行源码级调试
我想在vs2010下对mat文件进行读取操作。下面是简化的代码:#include &stdio.h&#include &mat.h&#include &matrix.h&//#pragma comment(lib, \...求助 关于在vs2010中读取txt文件的问题_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:527,956贴子:
求助 关于在vs2010中读取txt文件的问题收藏
#include&string.h&#include &stdio.h&#define N 4287#define M 100int main(){FILE *rescaled = NULL;int i, j,k=0,p, n,m=0;float a[4287][2];int hs[100]={0};int sects,tail,rescaled = fopen("E:\\rescaled.txt","r");for (i=0;i&4287;i++){fscanf(rescaled,"%10.6f %10.6f", &a[i][0],&a[i][1]); printf("%f %f\n",a[i][0],a[i][1]);}fclose(rescaled);
//关闭文件
for (i=0;i&4287;i++)
{ printf("%12.6f",a[i][0]);
printf("%12.6f\n",a[i][1]);
}return 0;}在vs2010中读不出txt中的内容 其中txt内容为两列数据
714.000000
0.5.000000
0.6.000000
0.7.000000
c语言海同强大的师资阵容,因人制定课程内容,分阶段学习.c语言就到正规IT技术培训机构-海同科技,培训IT技术面对面教学,免费重读!
在fopen时 下面会出现-rescaled0x0fbae4f8 {_ptr=0x &错误的指针& _cnt=0 _base=0x &错误的指针& ...}_iobuf *+_ptr0x &错误的指针& char *_cnt0int+_base0x &错误的指针&char *_flag1int_file3int_charbuf0int_bufsiz0int+_tmpfname0x &错误的指针&char *
求高手指教
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或PHP基础教程 列表
相关参考课程PHP 文件创建与打开 fopen 函数
fopen() 函数用于打开一个文件或 URL 地址。
fopen() 打开文件
PHP 中没有单独的文件创建函数,创建和打开文件都是用 fopen() 函数。当使用 fopen() 函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源。
如果打开失败,本函数返回 FALSE 。
resource fopen( string filename, string mode )
参数 filename 为尝试打开/创建的文件名,参数 mode 指定了打开模式,其可能的值如下:
只读,并将文件指针指向文件开始位置
读写,将文件指针指向文件开始位置
只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
只写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE
读写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE
关于文件指针,参见《》。
创建一个文件的例子:
if(!file_exists(&test.txt&)){
//如果文件不存在(默认为当前目录下)
$fh = fopen(&test.txt&,&w&);
fclose($fh);
//关闭文件
提示:上述例子中如果 test.txt 已经存在,则不会创建新文件。
fopen() 打开 URL 地址
fopen() 函数还可用于打开互联网上的 URL 地址:
$fh = fopen(&/&, &r&);
while(!feof($fh)) {
echo fgets($fh);
运行该例子,页面将显示百度首页。
注意:fopen() 返回的只是一个资源,要想显示打开的页面地址,还需要用 fgets() 函数读取并输出。
本章节内容共分 11 部分:1.
PHP 文件创建与打开 fopen 函数3.
<(我爱开发网) — 提供最好的 、、、 及}

我要回帖

更多关于 linux fopen函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信