×

phpfopenhttpwb

关于phpfopenhttpwb的信息

admin admin 发表于2023-03-24 21:05:10 浏览64 评论0

抢沙发发表评论

本文目录一览:

PHP中 fopen中 w和w+有啥区别

PHP中 fopen中 w和w+区别如下:

1、'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

2、'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

3、w+比w多一个功能,打开后除了可以写、还可以读,当然是写入内容之后才能读,因为w+和w一样打开文件的时候都会清空现有内容的。

4、w+ 比 w 多一个读的功能,所以是能读的。文件是空的,这个时候文件里面还没写东西。(重要)文件中有内容,读取的是文件最后第一种情况,要将内容写入文件第二种情况需要把指针移到前面的位置才有内容可以读-phpfopenhttpwb

PHP中如果fopen指向的文件不存在时怎么显示或跳转指定的其他内容或链接,详细描述如下?

你用fopen打开之后,判断下变量fh是否为真就完了,因为打开失败会返回false的,所以加个判断就行,为假就不继续执行了,做跳转,还有技术方面不会的也可以指导教学

php 中 fopen()打开文件(Url)失败是什么原因?

需要在php.ini中将相关配置开启

fopen原型:

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )-phpfopenhttpwb

如果PHP认为filename指定的是一个已注册的协议,而该协议被注册为一个网络URL,PHP将检查并确认allow_url_fopen已被激活。如果关闭了,PHP将发出一个警告,而fopen的调用则失败。-phpfopenhttpwb

allow_url_fopen:本选项激活了URL形式的fopen封装协议使得可以访问URL对象例如文件。默认的封装协议提供用ftp和http协议来访问远程文件,一些扩展库例如zlib可能会注册更多的封装协议。-phpfopenhttpwb

注意:

出于安全性考虑,此选项只能在php.ini中设置。

此选项是紧接着版本4.0.3发布后引进的。版本4.0.3以及之前的版本只能在编译时通过配置项--disable-url-fopen-wrapper来取消此特性。

关于PHP中fopen的问题

这是因为WEB服务器的进程对这个文件夹没有写的权限,你可能不熟悉UNIX的文件系统rwx的权限管理,你用超级用户把这个文件夹权限设置为0777就可以工作了,建议深入学习相关知识。

控制面板--管理工具--服务---Apache

重新启动、、、

php中fopen()如何理解?

fopen

(PHP 3, PHP 4, PHP 5)

fopen -- 打开文件或者 URL

说明

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

fopen() 将 filename 指定的名字资源绑定到一个流上。如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。 -phpfopenhttpwb

如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。 -phpfopenhttpwb

如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。 -phpfopenhttpwb

注: 所支持的协议列表见附录 M。某些协议(也被称为 wrappers)支持 context 和/或 php.ini 选项。参见相应的页面哪些选项可以被设定(例如 php.ini 中用于 http wrapper 的 user_agent 值)。 -phpfopenhttpwb

注: 对 context 的支持是 PHP 5.0.0 添加的。有关 context 的说明见参考 CXLV, Stream Functions。

注: 自 PHP 4.3.2 起,对所有区别二进制和文本模式的平台默认模式都被设为二进制模式。如果在升级后脚本碰到问题,尝试暂时使用 't' 标记,直到所有的脚本都照以下所说的改为更具移植性以后。

mode 参数指定了所要求到该流的访问类型。可以是以下:

表格 1. fopen() 中 mode 的可能值列表

mode 说明

'r' 只读方式打开,将文件指针指向文件头。

'r+' 读写方式打开,将文件指针指向文件头。

'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

'x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 -phpfopenhttpwb

'x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 -phpfopenhttpwb

注: 不同的操作系统家族具有不同的行结束习惯。当写入一个文本文件并想插入一个新行时,需要使用符合操作系统的行结束符号。基于 Unix 的系统使用 \n 作为行结束字符,基于 Windows 的系统使用 \r\n 作为行结束字符,基于 Macintosh 的系统使用 \r 作为行结束字符。 -phpfopenhttpwb

如果写入文件时使用了错误的行结束符号,则其它应用程序打开这些文件时可能会表现得很怪异。

Windows 下提供了一个文本转换标记('t')可以透明地将 \n 转换为 \r\n。与此对应还可以使用 'b' 来强制使用二进制模式,这样就不会转换数据。要使用这些标记,要么用 'b' 或者用 't' 作为 mode 参数的最后一个字符。 -phpfopenhttpwb

默认的转换模式依赖于 SAPI 和所使用的 PHP 版本,因此为了便于移植鼓励总是指定恰当的标记。如果是操作纯文本文件并在脚本中使用了 \n 作为行结束符,但还要期望这些文件可以被其它应用程序例如 Notepad 读取,则在 mode 中使用 't'。在所有其它情况下使用 'b'。 -phpfopenhttpwb

在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。

注: 为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。

注: 再一次,为移植性考虑,强烈建议你重写那些依赖于 't' 模式的代码使其使用正确的行结束符并改成 'b' 模式。

如果也需要在 include_path 中搜寻文件的话,可以将可选的第三个参数 use_include_path 设为 '1' 或 TRUE。

如果打开失败,本函数返回 FALSE。

例子 1. fopen() 例子

?php

$handle = fopen("/home/rasmus/file.txt", "r");

$handle = fopen("/home/rasmus/file.gif", "wb");

$handle = fopen("", "r");

$handle = fopen("", "w");

?

如果在用服务器模块版本的 PHP 时在打开和写入文件上遇到问题,记住要确保所使用的文件是服务器进程所能够访问的。

在 Windows 平台上,要小心转义文件路径中的每个反斜线,或者用斜线。

?php

$handle = fopen("c:\\data\\info.txt", "r");

?