Files
php-doc-ru/reference/filesystem/functions/is-uploaded-file.xml
Sergey Panteleev daef8df962 Обнуление тега Reviewed (#364)
[skip-lint]
[skip-spellcheck]
2021-11-16 13:03:53 +03:00

116 lines
3.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c1bb7dd16da7b27352a48604d7ad99f477aba0f9 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.is-uploaded-file">
<refnamediv>
<refname>is_uploaded_file</refname>
<refpurpose>Определяет, был ли файл загружен при помощи HTTP POST</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>is_uploaded_file</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Возвращает &true;, если файл <parameter>filename</parameter> был
загружен при помощи HTTP POST. Это полезно для удостоверения того,
что злонамеренный пользователь не пытается обмануть скрипт так, чтобы
он работал с файлами, с которыми работать не должен - к примеру,
<filename>/etc/passwd</filename>.
</para>
<para>
Такие проверки особенно полезны, если существует вероятность того,
что операции над файлом могут показать его содержимое пользователю
или даже другим пользователям той же системы.
</para>
<para>
Для правильной работы функции <function>is_uploaded_file</function>
нужен аргумент вида <varname>$_FILES['userfile']['tmp_name']</varname>,
- имя загруженного файла на клиентской машине
<varname>$_FILES['userfile']['name']</varname> не подходит.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
Имя проверяемого файла.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>is_uploaded_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo "Файл ". $_FILES['userfile']['name'] ." успешно загружен.\n";
echo "Отображаем содержимое\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Возможная атака с участием загрузки файла: ";
echo "файл '". $_FILES['userfile']['tmp_name'] . "'.";
}
?>]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>move_uploaded_file</function></member>
<member><varname>$_FILES</varname></member>
<member>Простой пример использования можно найти в разделе
"<link linkend="features.file-upload">Загрузка файлов на сервер</link>".</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
-->