mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-21 03:18:55 +00:00

There is nothing special with realpath() regarding type juggling, so there's no need to mention that NULL can be passed instead of an empty string. That even wouldn't work for strict_types. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@345785 c90b9560-bf6c-de11-be94-00142212c4b1
193 lines
4.7 KiB
XML
193 lines
4.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.realpath">
|
|
<refnamediv>
|
|
<refname>realpath</refname>
|
|
<refpurpose>Returns canonicalized absolute pathname</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>realpath</methodname>
|
|
<methodparam><type>string</type><parameter>path</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
<function>realpath</function> expands all symbolic links and
|
|
resolves references to <literal>/./</literal>, <literal>/../</literal> and extra <literal>/</literal> characters in
|
|
the input <parameter>path</parameter> and returns the canonicalized
|
|
absolute pathname.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>path</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The path being checked.
|
|
<note>
|
|
<para>
|
|
Whilst a path must be supplied, the value can be an empty string.
|
|
In this case, the value is interpreted as the current directory.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
Returns the canonicalized absolute pathname on success. The resulting path
|
|
will have no symbolic link, <literal>/./</literal> or <literal>/../</literal> components. Trailing delimiters,
|
|
such as <literal>\</literal> and <literal>/</literal>, are also removed.
|
|
</para>
|
|
<para>
|
|
<function>realpath</function> returns &false; on failure, e.g. if
|
|
the file does not exist.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
The running script must have executable permissions on all directories in
|
|
the hierarchy, otherwise <function>realpath</function> will return
|
|
&false;.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
For case-insensitive filesystems <function>realpath</function> may or may
|
|
not normalize the character case.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
The function <function>realpath</function> will not work for a file which
|
|
is inside a Phar as such path would be a virtual path, not a real one.
|
|
</para>
|
|
</note>
|
|
&fs.file.32bit;
|
|
</refsect1>
|
|
|
|
<refsect1 role="changelog">
|
|
&reftitle.changelog;
|
|
<para>
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>&Version;</entry>
|
|
<entry>&Description;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>5.3.0</entry>
|
|
<entry>
|
|
Prior to this release, if only the last <parameter>path</parameter>
|
|
component did not exist, <function>realpath</function> would not fail on
|
|
*BSD systems. <function>realpath</function> now fails in this case.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>5.2.1</entry>
|
|
<entry>
|
|
Prior to this version, <function>realpath</function> returned &false;
|
|
if <parameter>path</parameter> is an empty string or &null;.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</refsect1>
|
|
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title><function>realpath</function> example</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
chdir('/var/www/');
|
|
echo realpath('./../../etc/passwd') . PHP_EOL;
|
|
|
|
echo realpath('/tmp/') . PHP_EOL;
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
/etc/passwd
|
|
/tmp
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
<example>
|
|
<title><function>realpath</function> on Windows</title>
|
|
<para>
|
|
On windows <function>realpath</function> will change unix style paths to
|
|
windows style.
|
|
</para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo realpath('/windows/system32'), PHP_EOL;
|
|
|
|
echo realpath('C:\Program Files\\'), PHP_EOL;
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
C:\WINDOWS\System32
|
|
C:\Program Files
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<para>
|
|
<simplelist>
|
|
<member><function>basename</function></member>
|
|
<member><function>dirname</function></member>
|
|
<member><function>pathinfo</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
|
|
-->
|