[ PHP 内核与扩展开发系列] 流式访问:访问流与静态资源操作

在你打开一个流之后,就可以在它上面执行 I/O 操作了,使用哪种协议包装 API 创建了流并不重要,它们都使用相同的访问 API。 读 流的读写可以使用下面的 API 函数组合完成,它们多数都是遵循 POSIX I/O 中对应的 API 规范的: int php_stream_getc(php_stream *stream); 从数据流中接收一个字符,如果流上没有数据,则返回 EOF。 …

[ PHP 内核与扩展开发系列] 流式访问:流的概览

通常直接文件描述符相比调用流包装层消耗更少的 CPU 和内存; 不过, 这样会将实现某个特定协议的所有工作都堆积到作为扩展开发者的身上,通过挂钩到流包装层,你的扩展代码可以透明的使用各种内建的流包装,比如HTTP、FTP,以及它们对应的 SSL 版本,另外还有 gzip 和 bzip2 压缩包装。通过 include 特定的 PEAR 或 PECL 模块,你的代码还可以访问其他协议, 比…

[ Laravel 5.4 文档 ] 综合话题 —— 辅助函数

1、简介 Laravel 自带了一系列 PHP 辅助函数,很多被框架自身使用,如果你觉得方便的话也可以在代码中使用它们。 2、方法列表 数组函数 array_add() array_add 函数添加给定键值对到数组,如果给定键不存在的话: $array = array_add([‘name’ => ‘Desk’], ‘price’, 100); // [‘name’ => ‘…

[ Laravel 5.3 文档 ] 附录 —— 辅助函数

1、简介 Laravel 自带了一系列 PHP 辅助函数,很多被框架自身使用,如果你觉得方便的话也可以在代码中使用它们。 2、方法列表 数组函数 array_add() array_add 函数添加给定键值对到数组,如果给定键不存在的话: $array = array_add([‘name’ => ‘Desk’], ‘price’, 100); // [‘name’ => ‘…

[ Laravel 5.2 文档 ] 服务 —— 文件系统/云存储

1、简介 Laravel 基于 Frank de Jonge 开发的 PHP 包 Flysystem 提供了强大的文件系统抽象。Laravel 文件系统集成提供了使用驱动处理本地文件系统的简单使用,这些驱动包括Amazon S3,以及 Rackspace 云存储。此外在这些存储选项间切换非常简单,因为对每个系统而言,API 是一样的。 2、配置 文件系统配置文件位于config/file…

基于Laravel开发博客应用系列 —— 实现文件上传管理功能

本节我们将在后台为博客应用实现文件上传管理(包括文件上传、预览及删除、目录创建及删除)功能,并且使用本地文件系统保存上传的文件。 1、配置本地文件系统 让我们从配置开始吧,我们在 public 目录下创建一个 uploads 目录用来存放上传的文件,这样所有上传文件都可以通过浏览器直接访问。 首先我们在博客项目目录下使用如下命令在 public 目录下创建 uploads 子目录: 很简…

[ Laravel 5.1 文档 ] 服务 —— 文件系统/云存储

1、简介 基于Frank de Jonge的PHP包Flysystem,Laravel提供了强大的文件系统抽象。Laravel文件系统集成提供了使用驱动处理本地文件系统的简单使用,这些驱动包括Amazon S3,以及Rackspace云存储。此外在这些存储选项间切换非常简单,因为对每个系统而言,API是一样的。 2、配置 文件系统配置文件位于config/filesystems.php。…