NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# SplTempFileObject # [SplTempFileObject](https://www.php.net/manual/zh/class.spltempfileobject.php) ``` <pre class="calibre17">``` <span class="token">//除了析构函数其他方法与SplFileObject一样</span> SplTempFileObject extends <span class="token4">SplFileObject</span> implements <span class="token4">SeekableIterator</span> <span class="token3">,</span> RecursiveIterator <span class="token3">{</span> <span class="token">/* 继承的常量 */</span> const integer DROP_NEW_LINE <span class="token1">=</span> <span class="token6">1</span> <span class="token3">;</span><span class="token">//在行尾删除换行符</span> const integer READ_AHEAD <span class="token1">=</span> <span class="token6">2</span> <span class="token3">;</span> <span class="token">//rewind/nextd的方式读取</span> const integer SKIP_EMPTY <span class="token1">=</span> <span class="token6">4</span> <span class="token3">;</span> <span class="token">//跳过文件中的空行。这需要启用READ_AHEAD标志,才能按预期工作</span> const integer READ_CSV <span class="token1">=</span> <span class="token6">8</span> <span class="token3">;</span> <span class="token">//将行读取为CSV行。</span> <span class="token">/* 方法 */</span> public __construct <span class="token3">(</span><span class="token3">[</span> int $max_memory <span class="token3">]</span> <span class="token3">)</span> <span class="token">/* 继承的方法 */</span> public eof <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//到达文件结尾</span> public fflush <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//将输出刷新到文件</span> public fgetc <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//从文件中获取字符</span> public fgetcsv <span class="token3">(</span><span class="token3">[</span> string $delimiter <span class="token1">=</span> <span class="token2">","</span> <span class="token3">[</span><span class="token3">,</span> string $enclosure <span class="token1">=</span> <span class="token2">"\""</span> <span class="token3">[</span><span class="token3">,</span> string $escape <span class="token1">=</span> <span class="token2">"\\"</span> <span class="token3">]</span><span class="token3">]</span><span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> array <span class="token">//从文件中获取行并解析为CSV字段</span> public fgets <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//从文件中获取行</span> public fgetss <span class="token3">(</span><span class="token3">[</span> string $allowable_tags <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//从文件中获取行并剥离HTML标记</span> public flock <span class="token3">(</span> int $operation <span class="token3">[</span><span class="token3">,</span> int <span class="token1">&</span>$wouldblock <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//便携式文件锁定</span> public fpassthru <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//输出文件指针上的所有剩余数据</span> public fputcsv <span class="token3">(</span> array $fields <span class="token3">[</span><span class="token3">,</span> string $delimiter <span class="token1">=</span> <span class="token2">","</span> <span class="token3">[</span><span class="token3">,</span> string $enclosure <span class="token1">=</span> <span class="token2">'"'</span> <span class="token3">[</span><span class="token3">,</span> string $escape <span class="token1">=</span> <span class="token2">"\\"</span> <span class="token3">]</span><span class="token3">]</span><span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//将字段数组写为CSV行</span> public fread <span class="token3">(</span> int $length <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//从文件中读取</span> public fscanf <span class="token3">(</span> string $format <span class="token3">[</span><span class="token3">,</span> mixed <span class="token1">&</span>$<span class="token3">.</span><span class="token3">.</span><span class="token3">.</span> <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> mixed <span class="token">//根据格式从文件中解析输入</span> public fseek <span class="token3">(</span> int $offset <span class="token3">[</span><span class="token3">,</span> int $whence <span class="token1">=</span> SEEK_SET <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//寻求一个位置</span> public fstat <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> array <span class="token">//获取有关该文件的信息</span> public ftell <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//返回当前文件位置</span> public ftruncate <span class="token3">(</span> int $size <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//将文件截断为给定长度</span> public fwrite <span class="token3">(</span> string $str <span class="token3">[</span><span class="token3">,</span> int $length <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//写入文件</span> public getCsvControl <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> array <span class="token">//获取CSV的分隔符,机箱和转义字符</span> public getCurrentLine <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//SplFileObject :: fgets的别名</span> public getFlags <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取SplFileObject的标志</span> public getMaxLineLen <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获得最大线长</span> public setCsvControl <span class="token3">(</span><span class="token3">[</span> string $delimiter <span class="token1">=</span> <span class="token2">","</span> <span class="token3">[</span><span class="token3">,</span> string $enclosure <span class="token1">=</span> <span class="token2">"\""</span> <span class="token3">[</span><span class="token3">,</span> string $escape <span class="token1">=</span> <span class="token2">"\\"</span> <span class="token3">]</span><span class="token3">]</span><span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> void <span class="token">//获取CSV的分隔符,机箱和转义字符</span> public setFlags <span class="token3">(</span> int $flags <span class="token3">)</span> <span class="token3">:</span> void <span class="token">//设置SplFileObject的标志</span> public setMaxLineLen <span class="token3">(</span> int $max_len <span class="token3">)</span> <span class="token3">:</span> void <span class="token">//设置最大行长度</span> <span class="token">//RecursiveIterator</span> public getChildren <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> void <span class="token">//返回当前条目的迭代器(No purpose?)</span> public hasChildren <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//返回是否可以为当前条目创建迭代器(SplFileObject没有子级)</span> <span class="token">//SeekableIterator</span> public seek <span class="token3">(</span> int $line_pos <span class="token3">)</span> <span class="token3">:</span> void <span class="token">//RecursiveIterator与SeekableIterator</span> public current <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string<span class="token1">|</span>array <span class="token">//检索当前文件行</span> public key <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int public next <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> void public rewind <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> void public valid <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool public getATime <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取文件的上次访问时间</span> public getBasename <span class="token3">(</span><span class="token3">[</span> string $suffix <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取文件的基本名称</span> public getCTime <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取文件 inode 修改时间</span> public getExtension <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取文件扩展名</span> public getFileInfo <span class="token3">(</span><span class="token3">[</span> string $class_name <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> SplFileInfo <span class="token">//获取文件的SplFileInfo对象</span> public getFilename <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取文件名</span> public getGroup <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取文件组</span> public getInode <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取文件的inode</span> public getLinkTarget <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取链接的目标</span> public getMTime <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取上次修改时间</span> public getOwner <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取文件的所有者</span> public getPath <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取没有文件名的路径</span> public getPathInfo <span class="token3">(</span><span class="token3">[</span> string $class_name <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> SplFileInfo <span class="token">//获取路径的SplFileInfo对象</span> public getPathname <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取文件的路径</span> public getPerms <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取文件权限</span> public getRealPath <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取文件的绝对路径</span> public getSize <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> int <span class="token">//获取文件大小</span> public getType <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//获取文件类型</span> public isDir <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//判断文件是否是目录</span> public isExecutable <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//判断文件是否可执行</span> public isFile <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//判断对象是否引用了常规文件</span> public isLink <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//判断文件是否为链接</span> public isReadable <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//判断文件是否可读</span> public isWritable <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> bool <span class="token">//判断条目是否可写</span> public openFile <span class="token3">(</span><span class="token3">[</span> string $open_mode <span class="token1">=</span> <span class="token2">"r"</span> <span class="token3">[</span><span class="token3">,</span> bool $use_include_path <span class="token1">=</span> FALSE <span class="token3">[</span><span class="token3">,</span> resource $context <span class="token1">=</span> NULL <span class="token3">]</span><span class="token3">]</span><span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> SplFileObject <span class="token">//获取文件的SplFileObject对象</span> public setFileClass <span class="token3">(</span><span class="token3">[</span> string $class_name <span class="token1">=</span> <span class="token2">"SplFileObject"</span> <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> void <span class="token">//设置与SplFileInfo :: openFile一起使用的类</span> public setInfoClass <span class="token3">(</span><span class="token3">[</span> string $class_name <span class="token1">=</span> <span class="token2">"SplFileInfo"</span> <span class="token3">]</span> <span class="token3">)</span> <span class="token3">:</span> void <span class="token">//设置与SplFileInfo :: getFileInfo和SplFileInfo :: getPathInfo一起使用的类</span> public __toString <span class="token3">(</span> void <span class="token3">)</span> <span class="token3">:</span> string <span class="token">//以字符串形式返回文件的路径 SplFileObject :: fgets的别名</span> <span class="token3">}</span> ``` ```