Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 703d980c580707c382b4e43e25965bc5 > files > 50

php-manual-pt_BR-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Questões Diversas</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Manual do PHP"
HREF="index.html"><LINK
REL="UP"
TITLE="FAQ: Perguntas Mais Freqüentes"
HREF="faq.html"><LINK
REL="PREVIOUS"
TITLE="Migrando do PHP 4 para o PHP 5"
HREF="faq.migration5.html"><LINK
REL="NEXT"
TITLE="Apêndices"
HREF="appendices.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Manual do PHP</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="faq.migration5.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="appendices.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="faq.misc"
>Capítulo 62. Questões Diversas</A
></H1
><P
>&#13;    Aqui estão algumas questôes que nós não pudemos colocar
    em outra categoria. Aqui você encontra elas.
   </P
><DIV
CLASS="qandaset"
><DL
><DT
>1. <A
HREF="faq.misc.html#faq.misc.bz2"
>&#13;      Como eu posso utilizar os manuais compactados com o bz2 no Windows?
     </A
></DT
><DT
>2. <A
HREF="faq.misc.html#faq.misc.arguments.references"
>&#13;      O que faz &#38; antes de um argumento na declaração de uma função, ex.
      <A
HREF="function.asort.html"
><B
CLASS="function"
>asort()</B
></A
>?
     </A
></DT
><DT
>3. <A
HREF="faq.misc.html#faq.misc.registerglobals"
>&#13;      Como eu lido com <TT
CLASS="literal"
>register_globals</TT
>?
     </A
></DT
></DL
><DIV
CLASS="qandaentry"
><B
><DIV
CLASS="question"
><P
><A
NAME="faq.misc.bz2"
></A
><B
>1. </B
>
      Como eu posso utilizar os manuais compactados com o bz2 no Windows?
     </P
></DIV
></B
><DIV
CLASS="answer"
><P
><B
> </B
>
      Se você não tiver uma ferramenta de arquivos para trabalhar com arquivos bz2
      <A
HREF="http://www.bzip.org/"
TARGET="_top"
>download</A
> a ferramenta de linha de comando
      da Redhat (por favor veja maiores informações abaixo).
     </P
><P
>&#13;      Se você não gostar de usar uma ferramenta de linha de comando, você pode tentar ferramentas gratuitas como
      <A
HREF="http://www.stuffit.com/"
TARGET="_top"
>Stuffit Expander</A
>,
      <A
HREF="http://www.ultimatezip.com/"
TARGET="_top"
>UltimateZip</A
>,
      <A
HREF="http://www.7-zip.org/"
TARGET="_top"
>7-Zip</A
>, ou
      <A
HREF="http://www.quickzip.org/"
TARGET="_top"
>Quick Zip</A
>. Se você tiver
      ferramentas como <A
HREF="http://www.rarlab.com/"
TARGET="_top"
>WinRAR</A
> ou
      <A
HREF="http://www.powerarchiver.com/"
TARGET="_top"
>Power Archiver</A
>, você pode
      facilmente descomprimir arquivos bz2 com elas.
      Se você usa o Total Commander,
      (anteriormente Windows Commander),
      um plugin para o bz2 esta disponível gratuitamente em
      <A
HREF="http://www.ghisler.com/"
TARGET="_top"
>Total Commander</A
>.
     </P
><P
>&#13;      A ferramenta de linha de comando bzip2 da Redhat:
     </P
><P
>&#13;      Usuários Win2k Sp2 obtenha a versão 1.0.2, todos os
      outros usuários de windows a versão 1.00. Após o download
      renomeie o executável para bzip2.exe. Para sua conveniencia, coloque em um diretório
      que esteja no seu path, ex. C:\Windows aonde C representra o drive que você
      instalou o Windows.
      drive.
     </P
><P
>&#13;      Nota: lang significa a sua língua( Português do Brasil: pt_BR) e x para o formato desejado, ex.: pdf.
      Para descompactar php_manual_lang.x.bz2 siga estas instruções simples:
      <P
></P
><UL
><LI
><P
>abra uma janela com o prompt de comando</P
></LI
><LI
><P
>&#13;         Use o comando cd para a pasta onde você guardou
         o php_manual_lang.x.bz2
        </P
></LI
><LI
><P
>&#13;         digite bzip2 -d php_manual_lang.x.bz2, descompactando
         php_manual_lang.x na mesma pasta
        </P
></LI
></UL
>
     </P
><P
>&#13;      Caso você tenha feito o download de php_manual_lang.tar.bz2 com vários arquivos html nele,
      o procedimento é o mesmo. A unica diferença é que você obtém um arquivo
      php_manual_lang.tar. O formato tar format é conhecido e tratado com as ferramentas
      de arquivos mais comuns para o Windows, por exemplo
      <A
HREF="http://www.winzip.com/"
TARGET="_top"
>WinZip</A
>.
     </P
></DIV
></DIV
><DIV
CLASS="qandaentry"
><B
><DIV
CLASS="question"
><P
><A
NAME="faq.misc.arguments.references"
></A
><B
>2. </B
>
      O que faz &#38; antes de um argumento na declaração de uma função, ex.
      <A
HREF="function.asort.html"
><B
CLASS="function"
>asort()</B
></A
>?
     </P
></DIV
></B
><DIV
CLASS="answer"
><P
><B
> </B
>
      Indica que o argumento é
      <A
HREF="language.references.pass.html"
>passado por referência</A
> e
      a função provavelmente irá modifica-lo de acordo com a documentação. Você
      pode passar apenas variáveis desta forma e você não precisa passa-los com
      &#38; na chamada da função (e o mesmo esta
      <A
HREF="ini.core.html#ini.allow-call-time-pass-reference"
>obsoleto</A
>).
     </P
></DIV
></DIV
><DIV
CLASS="qandaentry"
><B
><DIV
CLASS="question"
><P
><A
NAME="faq.misc.registerglobals"
></A
><B
>3. </B
>
      Como eu lido com <TT
CLASS="literal"
>register_globals</TT
>?
     </P
></DIV
></B
><DIV
CLASS="answer"
><P
><B
> </B
>
      Para informações sobre as implicações de segurança de
      <TT
CLASS="literal"
>register_globals</TT
>, leia o capitulo de segurança em
      <A
HREF="security.globals.html"
>Using register_globals</A
>.
     </P
><P
>&#13;      É preferível usar
      <A
HREF="language.variables.predefined.html#language.variables.superglobals"
>superglobals</A
>,
      do que depender de <TT
CLASS="literal"
>register_globals</TT
> estar ativo.
     </P
><P
>&#13;      Se você esta em um servidor compartilhado com <TT
CLASS="literal"
>register_globals</TT
>
      desativado e você precisa usar alguma aplicação de legado, a qual requira que esta opção
      esteja ativada, ou você esta em algum servidor de hospedagem, aonde isto
      esteja ativo, mas você quer eliminar os riscos de segurança, você
      pode precisar emular a definição contrária com o PHP. É sempre uma boa idéia
      primeiro perguntar se seria possível mudar a opção de configuração do PHP de alguma maneira,
      mas se não for possível, então você pode usar estes
      trechos de código para compatibilidade.
     </P
><P
>&#13;      <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN274854"
></A
><P
><B
>Exemplo 62-1. Emulando Register Globals</B
></P
><P
>&#13;        Isto irá emular register_globals On. Se você alterou a sua diretiva
        <A
HREF="ini.core.html#ini.variables-order"
>variables_order</A
>,
        considere mudar <CODE
CLASS="varname"
>$superglobals</CODE
> de acordo.
       </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#FF8000">// Emular register_globals on<br /></font><font color="#007700">if (!</font><font color="#0000BB">ini_get</font><font color="#007700">(</font><font color="#DD0000">'register_globals'</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$superglobals </font><font color="#007700">= array(</font><font color="#0000BB">$_SERVER</font><font color="#007700">, </font><font color="#0000BB">$_ENV</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$_FILES</font><font color="#007700">, </font><font color="#0000BB">$_COOKIE</font><font color="#007700">, </font><font color="#0000BB">$_POST</font><font color="#007700">, </font><font color="#0000BB">$_GET</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if (isset(</font><font color="#0000BB">$_SESSION</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">array_unshift</font><font color="#007700">(</font><font color="#0000BB">$superglobals</font><font color="#007700">, </font><font color="#0000BB">$_SESSION</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach (</font><font color="#0000BB">$superglobals </font><font color="#007700">as </font><font color="#0000BB">$superglobal</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">extract</font><font color="#007700">(</font><font color="#0000BB">$superglobal</font><font color="#007700">, </font><font color="#0000BB">EXTR_SKIP</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
>&#13;        Isto irá emular register_globals Off. Tenha em mente que este código deve ser chamado
        bem no início do seu script, ou após
        <A
HREF="function.session-start.html"
><B
CLASS="function"
>session_start()</B
></A
> se você o usa para iniciar a sua sessão.
       </P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#FF8000">// Emula register_globals off<br /></font><font color="#007700">function </font><font color="#0000BB">unregister_GLOBALS</font><font color="#007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if (!</font><font color="#0000BB">ini_get</font><font color="#007700">(</font><font color="#DD0000">'register_globals'</font><font color="#007700">)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// Might want to change this perhaps to a nicer error<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">if (isset(</font><font color="#0000BB">$_REQUEST</font><font color="#007700">[</font><font color="#DD0000">'GLOBALS'</font><font color="#007700">]) || isset(</font><font color="#0000BB">$_FILES</font><font color="#007700">[</font><font color="#DD0000">'GLOBALS'</font><font color="#007700">])) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die(</font><font color="#DD0000">'GLOBALS overwrite attempt detected'</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// Variables that shouldn't be unset<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$noUnset </font><font color="#007700">= array(</font><font color="#DD0000">'GLOBALS'</font><font color="#007700">,&nbsp;&nbsp;</font><font color="#DD0000">'_GET'</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#DD0000">'_POST'</font><font color="#007700">,&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#DD0000">'_COOKIE'</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#DD0000">'_REQUEST'</font><font color="#007700">, </font><font color="#DD0000">'_SERVER'</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#DD0000">'_ENV'</font><font color="#007700">,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#DD0000">'_FILES'</font><font color="#007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$input </font><font color="#007700">= </font><font color="#0000BB">array_merge</font><font color="#007700">(</font><font color="#0000BB">$_GET</font><font color="#007700">,&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$_POST</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$_COOKIE</font><font color="#007700">, </font><font color="#0000BB">$_SERVER</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$_ENV</font><font color="#007700">,&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$_FILES</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isset(</font><font color="#0000BB">$_SESSION</font><font color="#007700">) &amp;&amp; </font><font color="#0000BB">is_array</font><font color="#007700">(</font><font color="#0000BB">$_SESSION</font><font color="#007700">) ? </font><font color="#0000BB">$_SESSION </font><font color="#007700">: array());<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;foreach (</font><font color="#0000BB">$input </font><font color="#007700">as </font><font color="#0000BB">$k </font><font color="#007700">=&gt; </font><font color="#0000BB">$v</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!</font><font color="#0000BB">in_array</font><font color="#007700">(</font><font color="#0000BB">$k</font><font color="#007700">, </font><font color="#0000BB">$noUnset</font><font color="#007700">) &amp;&amp; isset(</font><font color="#0000BB">$GLOBALS</font><font color="#007700">[</font><font color="#0000BB">$k</font><font color="#007700">])) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset(</font><font color="#0000BB">$GLOBALS</font><font color="#007700">[</font><font color="#0000BB">$k</font><font color="#007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></font><font color="#0000BB">unregister_GLOBALS</font><font color="#007700">();<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
     </P
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="faq.migration5.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Principal</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="appendices.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Migrando do PHP 4 para o PHP 5</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="faq.html"
ACCESSKEY="U"
>Acima</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Apêndices</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>