- Como eu apago um arquivo via linha de comando?
- Como eu passo uma array de uma página para outra?
- Qual a diferença entre include, require, include_once e require_once?
- Por que quando eu crio cookies, aparece escrito “Headers already sent” ou algo do gênero?
- Como executo uma função que está dentro de uma variável?
- Como fazer uma query string sem passar nome de variável? (index.php?pagina)
- 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?
- Qual a diferença entre exit() e die()?
- Como eu chamo uma variável em que o nome da mesma se encontra dentro de outra?
- Pra que serve o ‘var_dump()’ e qual é a sua importância?
1. Como eu apago um arquivo via linha de comando?
Isso acontece geralmente quando usamos alguma função de upload de imagem e depois precisamos apagar a imagem por algum razão. e para isso existe a funcao unlink()
<?php unlink($arquivo); ?>
Caso apareça alguma mensagem de erro que não foi permitido apagar o arquivo, verifique as permissões do arquivo(chmod)
2. Como eu passo uma array de uma página para outra?
Algumas vezes temos muitos dados guardados em um array e surje a necessidade de passarmos esses dados para outra página, existem dois métodos, segue:
Por variáveis de Sessão
<?php $array = array("danilo","iannone","webdeveloper"); $_SESSION['minhaArray'] = $array; ?>
Por Serialização:
<?php $array = array("danilo","iannone","webdeveloper"); $serialArray = serialize($array); ?> // Recebendo os dados passados por GET <?php $retorno = unserialize( $_GET['serialArray'] ); ?>
O que é serialização?
Serialização é um método utilizado para transformar uma array em uma string. Utilize as funções serialize() e unserialize(). 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.
3. Qual a diferença entre include, require, include_once e require_once?
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 mais de uma vez.
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, 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?
Aparece esse erro quando algum tipo de tag html ou php foi enviado antes da criação do cookie. ela deve ser a primeira linha do seu código.
<?php $_COOKIE['teste'] = 'Danilo'; ?> // O código abaixo retornará erro: <?php echo 'lalala'; $_COOKIE['teste'] = 'Danilo'; ?>
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 você possuir uma função do php atrelada a uma váriavel, como no exemplo abaixo:
<?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 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 $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 $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 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 $var = 'variavel'; $variavel = 'qualquer coisa'; ?>
… mas dependendo do seu script o nome da variável pode mudar… Então você faz o seguinte…
<?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!
obs: retirei esse tutorial da internet e não me lembro de onde, porém editei algumas coisas 🙂