Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
kinzinho

Dúvidas Frequentes!

Recommended Posts

Encontrei este tópico na internet como não possuia direitos autorais resolvi postar para vocês.

Por questões legais e éticas vou citar a fonte para não tirar o mérito do autor.

Parabéns pelo tópico MewRS

Link oficial:

http://www.mxstudio.com.br/forum/lofiversi...php/t26557.html

SUMÁRIO

1. Como eu apago um arquivo via linha de comando?

2. Como eu passo uma array de uma página para outra?

3. Qual a diferença entre include, require, include_once e require_once?

4. Por que quando eu crio cookies, aparece escrito "Headers already sent" ou algo do gênero?

5. Como executo uma função que está dentro de uma variável?

6. Como fazer uma query string sem passar nome de variável? (index.php?pagina)

7. Por que eu não consigo usar/imprimir minhas variáveis passadas por POST ou GET / Por que o PHP não recebe as variáveis de um formulário?

8. Qual a diferença entre exit e die?

9. Como eu chamo uma variável em que o nome da mesma se encontra dentro de outra?

10. Pra que serve o 'var_dump()' e qual é a sua importância?

1. Como eu apago um arquivo via linha de comando?

Muitas vezes nós temos que gerenciar arquivos e nos deparamos com a triste incumbência de apagar arquivos dinamicamente! Mas não se apavore, pois apagar arquivos com o PHP é muito facil.

Existe uma função chamada unlink(), que faz o trabalho sujo.

PHP

<?php

unlink($arquivo);

?>

Caso você não consiga apagar o arquivo, verifique o chmod (permissões) da pasta para averiguar se você possui permissão para tanto.

Caso mesmo assim não funcione (o que pode ocorrer em algumas versões mais antigas do Windows), você deve fazer via linha de comando, utilizando a função system();

PHP

<?php

system("del arquivo.ext");

?>

2. Como eu passo uma array de uma página para outra?

Várias vezes eu já me deparei com a seguinte situação: vários dados armazenados em uma array e então eu precisava passar de uma página para outra. Não é difícil!

Há dois métodos muito distintos. Via "serialização" e via variáveis de sessão.

O que é serialização?

Serialização é um método utilizado para transformar uma array em uma string. Utilize as funções serialize() e unserialize() para serializar e desserializar uma array, respectivamente. Uma vez serializada, a array transforma-se em uma string, podendo ser passada por GET, POST ou podendo até ser armazenada em um banco de dados.

PHP

<?php

$array = array("banana","maçã","abacaxi");

$serialArray = serialize($array);

?>

E via variáveis de sessão?

Este método é mais simples ainda.

PHP

<?php

$_SESSION['minhaArray'] = $minhaArray;

?>

Pronto... Está registrado na sua sessão a sua array para ser usada nas outras páginas! (Vale ressaltar que, para usar sessões, é necessário utilizar a função session_start(); no começo de cada página que irá fazer referência as variáveis de sessão).

3. Qual a diferença entre include, require, include_once e require_once?

Você necessita incluir uma página remota e não sabe qual das funções escolher! Vamos, então, dissecá-las!

include(): Include tenta incluir uma página. Caso falhe, o script retorna um warning (aviso) e prossegue com a execução do script. Aceita passagem de variáveis (GET) na string. Pode ser utilizado em uma estrutura de condicionais que terá seu efeito perpetuado todas as vezes que for chamado.

require(): Require tenta incluir uma página. Caso falhe, o script retorna um fatal error (erro fatal) e aborta a execução do script. Não aceita passagem de variáveis (GET) na string. Não é recomendável que se utilize em estruturas condicionais, a menos que se deseje o seu efeito, de ser executada apenas uma vez.

include_once() & require_once(): Idênticas as suas funções simples, porém se o arquivo referenciado já foi incluso na página anteriormente, a função retorna 'false' e o arquivo não é incluido.

4. Por que quando eu crio cookies, aparece escrito "Headers already sent" ou algo do gênero?

Isso acontece porquê já foi enviado algum tipo de header para o navegador. A criação dos cookies deve ser a primeira coisa a ser executada em uma página! Verifique se você não enviou nenhuma tag antes (tais como <html>, <head>, etc) ou nenhum tipo de meta-tag ou mesmo doctype.

5. Como executo uma função que está dentro de uma variável?

Se por algum acaso você possua o nome de uma função dentro de uma variável, como no seguinte caso...

PHP

<?php

$variavel = include("pagina.php");

?>

... e você deseja executá-la, você deve utilizar uma função chamada eval(). Esta função avalia o conteúdo de uma variável ou string e o interpreta.

PHP

<?php

eval($variavel);

?>

6. Como fazer uma query string sem passar nome de variável? (index.php?pagina)

No PHP, tudo que vai depois do ponto de interrogação (ou caractére de passagem), chama-se "Query String". Logo, fica armazenado numa variável superglobal chamada $_SERVER['QUERY_STRING'].

Se você gostaria de utilizar para fazer include ou algo do gênero, não esqueça que essa variável engloba toda a query string. Se você possuir (index.php?pagina&var=valor), sua variável $_SERVER['QUERY_STRING'] terá o valor (pagina&var=valor), logo você deve trabalhar em cima disso, usando explode ou alguma outra função de sua preferência.

No caso do explode, usa-se:

PHP

<?php

$minhaVariavel = explode("&",$_SERVER['QUERY_STRING']);

$query = minhaVariavel[0];

?>

Embora você possa pensar que depois de toda essa "gambiarra" você tenha que modificar mais alguma coisa, a query string nunca deixou de ser query string, então você pode se referir as outras variáveis pelo método de sempre ($_GET['var'])

7. Por que eu não consigo usar/imprimir minhas variáveis passadas por POST ou GET / Por que o PHP não recebe as variáveis de um formulário?

Isso ocorre porque talvez você tenha vindo de um servidor (ou se acostumou com um) que possuia a diretiva 'register_globals' ativada. Esta diretiva faz com que todas as variáveis sejam globais, fazendo com que elas sejam acessadas de qualquer lugar para qualquer lugar. Para efeitos de segurança, essa diretiva vem desabilitada por padrão, e no PHP 6 não exisitira mais, sendo sempre, então, desativada.

Para receber uma variável enviada por POST, utilize a array $_POST, que guarda todas as variáveis passada por este método. Se você enviou uma variável chamada 'mewrs', você deve "importá-la" no seu novo script se quiser requisitá-la como $mewrs.

PHP

<?php

$mewrs = $_POST['mewrs'];

?>

Note que dentro da array não se utiliza o $.

Da mesma forma as passadas por querystring devem ser referidas por $_GET.

E para se referir à uma variável que pode ter vindo tanto por GET como por POST, utiliza-se $_REQUEST.

(PS.: $_REQUEST engloba $_GET, $_POST, $_FILES (arquivos enviados por upload), $_COOKIE, $_SESSION, etc)

8. Qual a diferença entre exit e die?

Quando um script chega ao seu fim, ele acaba! (Dã!)

Há dois modos básicos de se encerrar um script. Um é seco e o encerra na hora, o outro lhe permite executar uma última função antes de encerrar o script e serve também como ponto de fuga.

A primeira forma é o exit. Para encerrar um script, apenas digite "exit; "e ponto final, o script está encerrado e não se fala mais nisso.

A segunda forma é o die(), que engloba um parâmetro, no caso o que vai ser executado.

O die() pode também ser usado como ponto de fuga, pois ele pode vir logo após uma função que, no caso de não ser executada, ira "morrer".

PHP

<?php

mysql_connect($server,$user,$pass) or die("A conexão com o banco de dados falhou!");

?>

Note que se você passar uma função ela será executada e se você passar uma string, ela será ecoada.

9. Como eu chamo uma variável em que o nome da mesma se encontra dentro de outra?

São as "famosas" Variáveis variáveis! Mas por que esse nome? Porque o nome da variável pode variar.

Se você possui este caso...

PHP

<?php

$var = 'variavel';

$variavel = 'qualquer coisa';

?>

... mas dependendo do seu script o nome da variável pode mudar... Então você faz o seguinte...

PHP

<?php

print $$var;

?>

... isto irá imprimir o valor da variável que possui o nome que está armazenado em $var!

10. Pra que serve o 'var_dump()' e qual é a sua importância?

var_dump() é uma função muito importante, pois com ela você pode "dissecar" uma variável... O var_dump() primeiramente retorna a tipagem da variável (bool, int, float, etc) e o número de caracteres ou de índices (no caso de uma array). Neste último caso, ele vai mais longe. Ele começa a "dumpar" cada variável, exibindo os mesmos dados de todas (tipagem,numero de caracteres) até que todo o conteúdo tenha sido devidamente mostrado no navegador. Ela é muito importante pois com ela podemos ver se uma variável está chegando no seu devido lugar ( Ex.: var_dump($_POST); ) ou então ver se criamos uma array com todos os índices desejados.

Bom... Há uma infinidade de possibilidades com o var_dump(). O jeito é ir descobrindo!

Experimente também o print_r(), que possui uma função semelhante!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

×
×
  • Criar Novo...