1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-28 09:22:15 +01:00
Files
archived-doc-es/reference/exec/functions/escapeshellcmd.xml
Pedro Antonio Gil Rodríguez 8fa5ed3a2d Updated to the most recent version
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@318647 c90b9560-bf6c-de11-be94-00142212c4b1
2011-11-01 13:56:13 +00:00

126 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 93c8f3c1305ca9d17a6e9f68d9e0438dec5dc165 Maintainer: seros Status: ready -->
<!-- splitted from ./en/functions/exec.xml, last change in rev 1.2 -->
<refentry xml:id="function.escapeshellcmd" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>escapeshellcmd</refname>
<refpurpose>Escapar meta-caracteres del intérprete de comandos</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>escapeshellcmd</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>flag</parameter></methodparam>
</methodsynopsis>
<para>
<function>escapeshellcmd</function> escapa cualquier caracter en una
cadena que pudiera ser usada para engañar a un comando shell para que ejecute
comandos arbitrarios. Esta función debería usarse para asegurarse de
que cualquier información procedente de la entrada del usuario sea escapada antes de que dicha información
sea pasada a las funciones <function>exec</function> o
<function>system</function>, o al <link
linkend="language.operators.execution">operador de comilla
invertida</link>.
</para>
<para>
Los siguientes caracteres son precedidos por una barra invertida:
<literal>#&amp;;`|*?~&lt;&gt;^()[]{}$\</literal>, <literal>\x0A</literal>
y <literal>\xFF</literal>. <literal>'</literal> y <literal>"</literal>
son escapados únicamente si no están emparejados. En Windows, todos estos caracteres
más <literal>%</literal> son reemplazados en su lugar por un espacio.
</para>
<para>
A partir de PHP 5.5 se introduce un segundo argumento opcional para
entornos que no sean Win32.
Cuando se especifica <constant>ESCAPE_CMD_PAIR</constant> (por defecto),
la cita es escapada sólo si no está emparejada.
Cuando se especifica <constant>ESCAPE_CMD_END</constant>,
la cita es escapada excepto para el incio/fin de la cadena.
Cuando se especifica <constant>ESCAPE_CMD_ALL</constant>,
la cita es siempre escapda.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>command</parameter></term>
<listitem>
<para>
El comando a ser escapado.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
La cadena escapada.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>escapeshellcmd</function></title>
<programlisting role="php">
<![CDATA[
<?php
$e = escapeshellcmd($entrada_usuario);
// aqui no nos importa si $e tiene espacios
system("echo $e");
$f = escapeshellcmd($nombre_archivo);
// y aqui si, asi que usamos comillas
system("touch \"/tmp/$f\"; ls -l \"/tmp/$f\"");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>escapeshellarg</function></member>
<member><function>exec</function></member>
<member><function>popen</function></member>
<member><function>system</function></member>
<member><link linkend="language.operators.execution">operador de comilla invertida</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
-->