File: setMetadata.xml

package info (click to toggle)
php-doc 20140201-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 74,084 kB
  • ctags: 4,040
  • sloc: xml: 998,137; php: 20,812; cpp: 500; sh: 177; makefile: 63; awk: 28
file content (133 lines) | stat: -rw-r--r-- 4,031 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 330543 $ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="pharfileinfo.setmetadata">
 <refnamediv>
  <refname>PharFileInfo::setMetadata</refname>
  <refpurpose>Sets file-specific meta-data saved with a file</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <modifier>public</modifier> <type>void</type><methodname>PharFileInfo::setMetadata</methodname>
   <methodparam><type>mixed</type><parameter>metadata</parameter></methodparam>
  </methodsynopsis>

  <para>
   <function>PharFileInfo::setMetadata</function> should only be used to store customized data in a file
   that cannot be represented with existing information stored with a file.
   Meta-data can significantly slow down the performance of loading a phar
   archive if the data is large, or if there are many files containing meta-data.
   It is important to note that file permissions are natively supported inside a
   phar; it is possible to set them with the
   <function>PharFileInfo::chmod</function> method.  As with all functionality that modifies the contents of
   a phar, the <link linkend="ini.phar.readonly">phar.readonly</link> INI variable
   must be off in order to succeed if the file is within a <classname>Phar</classname>
   archive.  Files within <classname>PharData</classname> archives do not have
   this restriction.
  </para>
  <para>
   Some possible uses for meta-data include passing a user/group that should be set
   when a file is extracted from the phar to disk.  Other uses could include
   explicitly specifying a MIME type to return.  However, any useful data that
   describes a file, but should not be contained inside of it may be stored.
  </para>

 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>metadata</parameter></term>
     <listitem>
      <para>
       Any PHP variable containing information to store alongside a file
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.void;
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>A <function>PharFileInfo::setMetadata</function> example</title>
    <para>
    </para>
    <programlisting role="php">
<![CDATA[
<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
    $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
    $p['file.txt'] = 'hello';
    $p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
    var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
    echo 'Could not create/modify phar: ', $e;
}
?>
]]>
    </programlisting>
    &example.outputs;
    <screen>
<![CDATA[
array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}
]]>
    </screen>
   </example>
  </para>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>PharFileInfo::hasMetadata</function></member>
    <member><function>PharFileInfo::getMetadata</function></member>
    <member><function>PharFileInfo::delMetadata</function></member>
    <member><function>Phar::setMetadata</function></member>
    <member><function>Phar::hasMetadata</function></member>
    <member><function>Phar::getMetadata</function></member>
   </simplelist>
  </para>
 </refsect1>

</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->