当前位置:首页 > CN2资讯 > 正文内容

php://php://input

2天前CN2资讯


php:// — 访问各个输入/输出流(I/O streams)


说明​​ ¶​​

PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器。



php://stdin, php://stdout 和 php://stderr​​ ¶​​

php://stdin、php://stdout 和 php://stderr 允许直接访问 PHP 进程相应的输入或者输出流。 数据流引用了复制的文件描述符,所以如果你打开php://stdin 并在之后关了它, 仅是关闭了复制品,真正被引用的 ​​STDIN​​ 并不受影响。 注意 PHP 在这方面的行为有很多 BUG 直到 PHP 5.2.1。 推荐你简单使用常量 ​​STDIN​​、 ​​STDOUT​​ 和 ​​STDERR​​

php://stdin 是只读的, php://stdout 和 php://stderr



php://input​​ ¶​​

php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 ​​$HTTP_RAW_POST_DATA​​​,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 ​​$HTTP_RAW_POST_DATA​​​ 默认没有填充, 比激活 ​​always_populate_raw_post_data​​ 潜在需要更少的内存。 enctype="multipart/form-data" 的时候 php://input

Note: php://input 打开的数据流只能读取一次; 数据流不支持 seek 操作。 不过,依赖于 SAPI 的实现,请求体数据被保存的时候, 它可以打开另一个 php://input



php://output​​ ¶​​

php://output 是一个只写的数据流, 允许你以 ​​print​​​ 和 ​​echo​​



php://fd​​ ¶​​

php://fd 允许直接访问指定的文件描述符。 例如 php://fd/3



php://memory 和 php://temp​​ ¶​​

php://memory 和 php://temp 是一个类似文件 包装器的数据流,允许读写临时数据。 两者的唯一区别是 php://memory 总是把数据储存在内存中, 而 php://temp 会在内存量达到预定义的限制后(默认是 2MB)存入临时文件中。 临时文件位置的决定和 ​​sys_get_temp_dir()​​

php://temp 的内存限制可通过添加 /maxmemory:NN 来控制,NN



php://filter​​ ¶​​

php://filter 是一种元封装器, 设计用于数据流打开时的​​筛选过滤​​​应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 ​​readfile()​​​、​​file()​​​ 和 ​​file_get_contents()​​, 在数据流内容读取之前没有机会应用其他过滤器。

php://filter

php://filter 参数

名称

描述

resource=<要过滤的数据流>

这个参数是必须的。它指定了你要筛选过滤的数据流。

read=<读链的筛选列表>

该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。

write=<写链的筛选列表>

该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔。

<;两个链的筛选列表>

任何没有以 read= 或 write=


可选项​​ ¶​​

封装协议摘要(针对 php://filter,参考被筛选的封装器。)

属性

支持

首先于 ​​allow_url_fopen​​

No

首先于 ​​allow_url_include​​

仅 php://input、 php://stdin、 php://memory 和 php://temp。

允许读取

仅 php://stdin、 php://input、 php://fd、 php://memory 和 php://temp。

允许写入

仅 php://stdout、 php://stderr、 php://output、 php://fd、 php://memory 和 php://temp。

允许追加

仅 php://stdout、 php://stderr、 php://output、 php://fd、 php://memory 和 php://temp(等于写入)

允许同时读写

仅 php://fd、 php://memory 和 php://temp。

支持 ​​stat()​​

仅 php://memory 和 php://temp。

支持 ​​unlink()​​

No

支持 ​​rename()​​

No

支持 ​​mkdir()​​

No

支持 ​​rmdir()​​

No

仅仅支持 ​​stream_select()​​

php://stdin、 php://stdout、 php://stderr、 php://fd 和 php://temp。


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25978.html

    标签: php://
    分享给朋友:

    “php://php://input” 的相关文章

    电信CN2宽带账号登录密码忘记怎么办?轻松解决办法!

    在如今这个网络时代,宽带已经成为我们生活中不可或缺的一部分。无论是工作、学习,还是娱乐,宽带网络都为我们的生活带来了极大的便利。生活中难免会遇到一些小问题,比如忘记电信CN2宽带账号的登录密码。当你面对这样的问题时,可能会感到焦虑和无助,担心宽带无法正常使用,影响生活和工作。别担心,本文将为你提供一...

    如何有效解决VPS硬盘占用过高问题:优化与清理指南

    1.1 系统日志和缓存文件积累 系统日志和缓存文件是VPS硬盘占用过高的常见原因之一。每次系统运行或应用程序执行时,都会生成日志文件来记录操作和错误信息。这些日志文件随着时间的推移会逐渐积累,占用大量磁盘空间。缓存文件也是如此,它们用于加速系统或应用程序的运行,但如果不定期清理,也会占用大量空间。我...

    如何通过命令行安装DSM软件:步骤与技巧教学

    什么是DSM? DSM,即DiskStation Manager,是为Synology NAS设备设计的一款操作系统。它不仅提供了存储管理的基本功能,还有很多高级应用,像文件共享、备份解决方案以及多媒体服务等。可以说,DSM就像一种灵活的操作平台,让用户能够通过直观的界面轻松管理他们的数据和设备。...

    ZGOVPS优惠码使用指南:如何享受高性能VPS服务的优惠

    ZGOVPS是一家在VPS服务领域备受瞩目的品牌。作为一个提供高性能虚拟专用服务器的商家,它在业内以性价比高、网络稳定和良好口碑而受到广泛欢迎。我在使用ZGOVPS的过程中,深刻感受到了它对客户需求的敏锐把握和优质服务的承诺。 从公司的背景来看,ZGOVPS专注于为全球用户提供专业的VPS解决方案,...

    低价VPS: 如何选择最合适的虚拟私人服务器

    低价VPS概述 我们常常听到VPS这个词,它代表“虚拟私人服务器”。对于那些不太了解的人,VPS实际上是一种将一台物理服务器划分为多个虚拟服务器的技术。每个VPS都有独立的操作系统和存储空间,就像你在家里拥有一个独立的小房间一样。这样一来,你就能在不需要太多资金投入的情况下,拥有一台属于自己的服务器...

    买域名的全流程攻略:从选择到安全管理

    购买域名是一项非常重要的投资,尤其对于那些希望在网上建立品牌或个人网站的人来说。域名不仅仅是一个网址,它是你在线身份的象征。因此,了解如何选择和购买域名显得极为关键。 选择域名时,需要考虑多个因素。首先,域名应该简洁易记,便于用户输入和分享。其次,关键字的相关性也非常重要,因为一个包含行业相关关键词...