Template::Plugin::File(3pm) - phpMan

Command: man perldoc info search(apropos)  


Template::Plugin::File(3pm)    User Contributed Perl Documentation    Template::Plugin::File(3pm)



NAME
       Template::Plugin::File - Plugin providing information about files

SYNOPSIS
           [% USE File(filepath) %]
           [% File.path %]         # full path
           [% File.name %]         # filename
           [% File.dir %]          # directory

DESCRIPTION
       This plugin provides an abstraction of a file.  It can be used to fetch details about
       files from the file system, or to represent abstract files (e.g. when creating an index
       page) that may or may not exist on a file system.

       A file name or path should be specified as a constructor argument.  e.g.

           [% USE File('foo.html') %]
           [% USE File('foo/bar/baz.html') %]
           [% USE File('/foo/bar/baz.html') %]

       The file should exist on the current file system (unless 'nostat' option set, see below)
       as an absolute file when specified with as leading '/' as per '/foo/bar/baz.html', or
       otherwise as one relative to the current working directory.  The constructor performs a
       stat() on the file and makes the 13 elements returned available as the plugin items:

           dev ino mode nlink uid gid rdev size
           atime mtime ctime blksize blocks

       e.g.

           [% USE File('/foo/bar/baz.html') %]

           [% File.mtime %]
           [% File.mode %]
           ...

       In addition, the 'user' and 'group' items are set to contain the user and group names as
       returned by calls to getpwuid() and getgrgid() for the file 'uid' and 'gid' elements,
       respectively.  On Win32 platforms on which getpwuid() and getgrid() are not available,
       these values are undefined.

           [% USE File('/tmp/foo.html') %]
           [% File.uid %]      # e.g. 500
           [% File.user %]     # e.g. abw

       This user/group lookup can be disabled by setting the 'noid' option.

           [% USE File('/tmp/foo.html', noid=1) %]
           [% File.uid %]      # e.g. 500
           [% File.user %]     # nothing

       The 'isdir' flag will be set if the file is a directory.

           [% USE File('/tmp') %]
           [% File.isdir %]    # 1

       If the stat() on the file fails (e.g. file doesn't exists, bad permission, etc) then the
       constructor will throw a 'File' exception.  This can be caught within a TRY...CATCH block.

           [% TRY %]
              [% USE File('/tmp/myfile') %]
              File exists!
           [% CATCH File %]
              File error: [% error.info %]
           [% END %]

       Note the capitalisation of the exception type, 'File' to indicate an error thrown by the
       'File' plugin, to distinguish it from a regular 'file' exception thrown by the Template
       Toolkit.

       Note that the 'File' plugin can also be referenced by the lower case name 'file'.
       However, exceptions are always thrown of the 'File' type, regardless of the capitalisation
       of the plugin named used.

           [% USE file('foo.html') %]
           [% file.mtime %]

       As with any other Template Toolkit plugin, an alternate name can be specified for the
       object created.

           [% USE foo = file('foo.html') %]
           [% foo.mtime %]

       The 'nostat' option can be specified to prevent the plugin constructor from performing a
       stat() on the file specified.  In this case, the file does not have to exist in the file
       system, no attempt will be made to verify that it does, and no error will be thrown if it
       doesn't.  The entries for the items usually returned by stat() will be set empty.

           [% USE file('/some/where/over/the/rainbow.html', nostat=1)
           [% file.mtime %]     # nothing

       All File plugins, regardless of the nostat option, have set a number of items relating to
       the original path specified.

       path
           The full, original file path specified to the constructor.

               [% USE file('/foo/bar.html') %]
               [% file.path %]     # /foo/bar.html

       name
           The name of the file without any leading directories.

               [% USE file('/foo/bar.html') %]
               [% file.name %]     # bar.html

       dir The directory element of the path with the filename removed.

               [% USE file('/foo/bar.html') %]
               [% file.name %]     # /foo

       ext The file extension, if any, appearing at the end of the path following a '.' (not
           included in the extension).

               [% USE file('/foo/bar.html') %]
               [% file.ext %]      # html

       home
           This contains a string of the form '../..' to represent the upward path from a file to
           its root directory.

               [% USE file('bar.html') %]
               [% file.home %]     # nothing

               [% USE file('foo/bar.html') %]
               [% file.home %]     # ..

               [% USE file('foo/bar/baz.html') %]
               [% file.home %]     # ../..

       root
           The 'root' item can be specified as a constructor argument, indicating a root
           directory in which the named file resides.  This is otherwise set empty.

               [% USE file('foo/bar.html', root='/tmp') %]
               [% file.root %]     # /tmp

       abs This returns the absolute file path by constructing a path from the 'root' and 'path'
           options.

               [% USE file('foo/bar.html', root='/tmp') %]
               [% file.path %]     # foo/bar.html
               [% file.root %]     # /tmp
               [% file.abs %]      # /tmp/foo/bar.html

       In addition, the following method is provided:

       rel(path)
           This returns a relative path from the current file to another path specified as an
           argument.  It is constructed by appending the path to the 'home' item.

               [% USE file('foo/bar/baz.html') %]
               [% file.rel('wiz/waz.html') %]      # ../../wiz/waz.html

EXAMPLES
           [% USE file('/foo/bar/baz.html') %]

           [% file.path  %]      # /foo/bar/baz.html
           [% file.dir   %]      # /foo/bar
           [% file.name  %]      # baz.html
           [% file.home  %]      # ../..
           [% file.root  %]      # ''
           [% file.abs   %]      # /foo/bar/baz.html
           [% file.ext   %]      # html
           [% file.mtime %]      # 987654321
           [% file.atime %]      # 987654321
           [% file.uid   %]      # 500
           [% file.user  %]      # abw

           [% USE file('foo.html') %]

           [% file.path %]           # foo.html
           [% file.dir  %]       # ''
           [% file.name %]           # foo.html
           [% file.root %]       # ''
           [% file.home %]       # ''
           [% file.abs  %]       # foo.html

           [% USE file('foo/bar/baz.html') %]

           [% file.path %]           # foo/bar/baz.html
           [% file.dir  %]       # foo/bar
           [% file.name %]           # baz.html
           [% file.root %]       # ''
           [% file.home %]       # ../..
           [% file.abs  %]       # foo/bar/baz.html

           [% USE file('foo/bar/baz.html', root='/tmp') %]

           [% file.path %]           # foo/bar/baz.html
           [% file.dir  %]       # foo/bar
           [% file.name %]           # baz.html
           [% file.root %]       # /tmp
           [% file.home %]       # ../..
           [% file.abs  %]       # /tmp/foo/bar/baz.html

           # calculate other file paths relative to this file and its root
           [% USE file('foo/bar/baz.html', root => '/tmp/tt2') %]

           [% file.path('baz/qux.html') %]         # ../../baz/qux.html
           [% file.dir('wiz/woz.html')  %]     # ../../wiz/woz.html

AUTHORS
       Michael Stevens <michael AT etla.org> wrote the original Directory plugin on which this is
       based.  Andy Wardley <abw AT wardley.org> split it into separate File and Directory plugins,
       added some extra code and documentation for VIEW support, and made a few other minor
       tweaks.

VERSION
       2.71, distributed as part of the Template Toolkit version 2.19, released on 27 April 2007.

COPYRIGHT
       This module is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

SEE ALSO
       Template::Plugin, Template::Plugin::Directory, Template::View



perl v5.10.0                                2007-04-27                Template::Plugin::File(3pm)

Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-25 02:40 @38.107.179.239 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!