svn: /phpdoc/bg/trunk/reference/strings/functions/ addslashes.xml
[email protected] (Stanislav Yordanov) Fri, 25 Dec 2015 18:25:48 +0000
| Newsgroups | php.doc.bg |
|---|---|
| Message-ID | <[email protected]> |
stanprog Fri, 25 Dec 2015 18:25:48 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=338358
Log:
sync to EN
Changed paths:
U phpdoc/bg/trunk/reference/strings/functions/addslashes.xml
svn-diffs-338358.txt
(text/x-diff, 9.5 KB)
Modified: phpdoc/bg/trunk/reference/strings/functions/addslashes.xml
===================================================================
--- phpdoc/bg/trunk/reference/strings/functions/addslashes.xml 2015-12-25 17:50:41 UTC (rev 338357)
+++ phpdoc/bg/trunk/reference/strings/functions/addslashes.xml 2015-12-25 18:25:48 UTC (rev 338358)
@@ -1,86 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: n/a Maintainer: stanprog Status: ready -->
+<!-- EN-Revision: 334702 Maintainer: stanprog Status: ready -->
+<!-- Reviewed: yes Maintainer: stanprog -->
<!-- splitted from ./en/functions/strings.xml, last change in rev 1.2 -->
- <refentry xml:id="function.addslashes" xmlns="http://docbook.org/ns/docbook">
- <refnamediv>
- <refname>addslashes</refname>
- <refpurpose>Екранира специалните знаци в низ</refpurpose>
- </refnamediv>
- <refsect1 role="description">
- &reftitle.description;
- <methodsynopsis>
- <type>string</type><methodname>addslashes</methodname>
- <methodparam><type>string</type><parameter>str</parameter></methodparam>
- </methodsynopsis>
- <para>
- Връща низ с обратно наклонени черти пред знаците, които
- трябва да бъдат екранирани за заявки към бази от данни и др.
- Тези знаци са единични кавички (<literal>'</literal>),
- двойни кавички (<literal>"</literal>), обратно наклонена
- черта (<literal>\</literal>) и NUL (&null; байт)
- </para>
- <para>
- <function>addslashes</function> може да се употребява примерно
- при вкарване на данни в база от данни. Например, за да вкарате
- името <literal>O'reilly</literal> в база от данни, трябва да
- го екранирате. При по-голяма част от базите от данни това се
- прави посредством <literal>\</literal>, което означава
- <literal>O\'reilly</literal>. Този знак се използва само
- за да се вкара коректно текста в базата от данни т.е. знака
- <literal>\</literal> няма да бъде вкаран.
- Ако PHP директивата
- <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>
- е установена в <literal>on</literal>, знакът <literal>'</literal>
- ще бъде екраниран чрез още един <literal>'</literal>.
- </para>
- <para>
- PHP директивата <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>
- е <literal>on</literal> по подразбиране и по същество извиква
- <function>addslashes</function> за всички GET, POST,
- и COOKIE данни. Не трябва да се използва <function>addslashes</function>
- върху низове, които вече са екранирани с
- <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>,
- тъй като това ще доведе до двойно екраниране. Функцията
- <function>get_magic_quotes_gpc</function> може да се използва,
- за да се провери състоянието на тази директива.
- </para>
- </refsect1>
+<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.addslashes">
+ <refnamediv>
+ <refname>addslashes</refname>
+ <refpurpose>Екранира специалните знаци в низ</refpurpose>
+ </refnamediv>
- <refsect1 role="parameters">
- &reftitle.parameters;
- <para>
- <variablelist>
- <varlistentry>
- <term><parameter>str</parameter></term>
- <listitem>
- <para>
- Низът, който ще се екранира.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- </refsect1>
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>string</type><methodname>addslashes</methodname>
+ <methodparam><type>string</type><parameter>str</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Връща низ с обратно наклонени черти пред знаците, които трябва да бъдат
+ екранирани. Тези знаци са единични кавички (<literal>'</literal>),
+ двойни кавички (<literal>"</literal>), обратно наклонена
+ черта (<literal>\</literal>) и NUL (&null; байт).
+ </para>
+ <para>
+ <function>addslashes</function> може да се употребява примерно
+ при вкарване на данни в низ, който се изчислява от PHP. Например,
+ <literal>O'Reilly</literal> се съхранява в $str, трябва да екранирате
+ $str. (напр: eval("echo '".addslashes($str)."';"); )
+ </para>
+ <para>
+ За екраниране на параметри предавани към базата от данни, трябва да се извика
+ екраниращата функция на съответната СУБД
+ (например <function>mysqli_real_escape_string</function> за MySQL или
+ <function>pg_escape_literal</function>, <function>pg_escape_string</function>
+ за PostgreSQL). Това се прави от съображения за сигурност. Различните СУБД имат
+ различни спецификации за екраниране на идентификатори (напр: име на таблица,
+ име на поле) идващи чрез параметър. Някои СУБД, като например PostgreSQL осигуряват
+ функцията за екраниране на идентификаторите <function>pg_escape_identifier</function>, но не всички
+ СУБД имат API за екраниране на идентификатори. Ако вашият случай е такъв, обърнете се към
+ системното ръководство за вашата база от данни за да разберете подходящият метод на екраниране.
+ </para>
+ <para>
+ Ако вашата СУБД няма функция за екраниране, а
+ използва <literal>\</literal> за екраниране на специалните знаци, може да
+ използвате функцията само, когато този метод за екраниране е адекватен за
+ вашата база от данни. Моля, забележете, че употребата
+ на <function>addslashes</function> за екраниране на параметри към база от данни
+ може да бъде причината за проблеми със сигурността на повечето бази от данни.
+ </para>
+ <para>
+ PHP директивата <link linkend="ini.magic-quotes-gpc">
+ magic_quotes_gpc</link> беше <literal>on</literal> по подразбиране преди
+ PHP 5.4 и по същество извикваше <function>addslashes</function> за
+ всички GET, POST и COOKIE данни. Не трябва да се
+ използва <function>addslashes</function> върху низове, които вече са
+ екранирани с
+ <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link>, тъй като това ще доведе
+ до двойно екраниране. Функцията
+ <function>get_magic_quotes_gpc</function> може да се използва,
+ за да се провери състоянието на тази директива.
+ </para>
+ </refsect1>
- <refsect1 role="returnvalues">
- &reftitle.returnvalues;
- <para>
- Връща екранирания низ.
- </para>
- </refsect1>
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term><parameter>str</parameter></term>
+ <listitem>
+ <para>
+ Низът, който ще се екранира.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect1>
- <refsect1 role="examples">
- &reftitle.examples;
- <para>
- <example>
- <title>Пример за <function>addslashes</function></title>
- <programlisting role="php">
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Връща екранирания низ.
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title>Пример за <function>addslashes</function></title>
+ <programlisting role="php">
<![CDATA[
<?php
-$str = "Ти O'reilly ли се казваш?";
+$str = "Ти O'Reilly ли се казваш?";
-// Изход: Ти O\'reilly ли се казваш?
+// Изход: Ти O\'Reilly ли се казваш?
echo addslashes($str);
?>
]]>
@@ -88,7 +102,7 @@
</example>
</para>
</refsect1>
-
+
<refsect1 role="seealso">
&reftitle.seealso;
<para>
@@ -102,7 +116,8 @@
</simplelist>
</para>
</refsect1>
- </refentry>
+
+</refentry>
<!-- Keep this comment at the end of the file
Local variables: