Exercícios PHP Eags Sin

7
Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tel 2) Considere a linguagem de programaço PHP e seus operadores! A execuço da senten a) #A $% &) retorna 'also #'alse), considerando as (ariá(eis A e & iniciali adas co respecti(amente! b) #A % &) atribui o (alor * #tr-s) para a (ariá(el A, considerando as (ariá(eis (alores 1. e *, respecti(amente! c) #A ! % &) concatena o conte/do das (ariá(eis A e & e arma ena o conte/do em A! d) $#A %% &) retorna 'also #'alse), considerando as (ariá(eis A e & iniciali adas c respecti(amente! e) #A % % % &) compara somente os tipos das (ariá(eis A e &! *) Considere o programa abaixo escrito na linguagem PHP! 0 que será impresso em tel execuço do código? ) Analise os exemplos de criaço de array em PHP! ! 3idade % arra4#5Paulo5%6*2, 5Pedro5%6*., 5Ana5%6* )7 ! 3'amilia % arra4#58orge5%6arra4#5Angela5,5 racema5, 5&ia5),5Pedro5%6arra4#5Ana5))7

description

Exercícios sobre PHP para concursos.

Transcript of Exercícios PHP Eags Sin

Exerccios sobre Linguagem PHP:

1) Ao ser executado o cdigo abaixo, em PHP, qual ser o resultado impresso em tela?

2) Considere a linguagem de programao PHP e seus operadores. A execuo da sentena:

a) (A != B) retorna falso (false), considerando as variveis A e B inicializadas com os valores 3 e 6, respectivamente.b) (A %= B) atribui o valor 3 (trs) para a varivel A, considerando as variveis A e B inicializadas com os valores 10 e 3, respectivamente.c) (A . = B) concatena o contedo das variveis A e B e armazena o contedo em A.d) !(A == B) retorna falso (false), considerando as variveis A e B inicializadas com os valores 3 e 6, respectivamente.e) (A = = = B) compara somente os tipos das variveis A e B.

3) Considere o programa abaixo escrito na linguagem PHP. O que ser impresso em tela, ao final de toda a execuo do cdigo?

4) Analise os exemplos de criao dearrayem PHP.

I.$idade = array("Paulo"=>32, "Pedro"=>30, "Ana"=>34);

II.$familia = array("Jorge"=>array("Angela","Iracema","Bia"),"Pedro"=>array("Ana"));

III.$nome[0] ="Paulo";$nome[1] ="Pedro";$nome[2] ="Ana";

IV.$idade['Paulo'] = "32";$idade['Pedro'] = "30";$idade['Ana'] = "34";

Representam exemplos corretos de criao dearrayos itens:

a) I, II, III e IV.b) III e IV, apenas.c) I e II, apenas.d) I, III e IV, apenas.e) II, III e IV, apenas.

5) Qual ser o resultado da execuo do cdigo abaixo, escrito em PHP?

6) Qual ser o retorno impresso em tela aps a execuo do cdigo-fonte em PHP, abaixo?

7) Identifique com V as afirmativas verdadeiras e com F, as falsas.

( ) Na verso 5, PHP uma linguagem orientada para objetos.( ) PHP uma linguagem interpretada.( ) possvel fazer uso de conexo a servidores Wamp, atravs da Linguagem PHP.

A alternativa que contm a sequncia correta, de cima para baixo, a:

a) V V Vb) V V Fc) V F Vd) F V Fe) F F F

8) (EAGS SIN 2015 - adaptada) Analise a linha de cdigo abaixo, desconsiderando o zero como valor a ser atribudo s variveis $a e $b. Qual ser o valor da varivel $c, se $a for um nmero par acima de 2 e $b for mpar?$c = ($a % $b != 0) ? ($a * $b) : ($a + $b);

Enviando dados via GET e POST no PHP

Quando desenvolvemos um site dinmico, geralmente temos a necessidade de passar alguns valores de uma pgina para a outra, para podermos, ento, realizar operaes como consultas e inseres no banco, autenticao de usurios, etc. No PHP os dois mtodos mais utilizado para isso so o GET e POST. Vamos falar um pouco mais sobre eles agora.

GET

o mtodo mais simples e mais limitado para se usar. Neste caso os valores e seus respectivos identificadores so transmitidos pela URL, no sendo preciso a abertura de uma nova conexo (explicaremos melhor isso quando falarmos do mtodo POST). Quem nunca viu uma URL desse tipo:

http://www.meusite.com/versecao.php?id=32&descricao=Minha_Secao

Esse exemplo demonstra na prtica o uso da passagem de parmetros via GET. A presena da interrogao indica o fim do endereo e o incio da declarao dos nossos valores que sero passados. Neste caso, a pgina versecao.php receber uma varivel chamada id com o valor 32, e outra varivel descricao com valor Minha_Secao.

Pronto! Voc provavelmente dever estar pensando: timo . Vou passar todos os meus valores via GET, pela URL.

Porm, como nem tudo perfeito, o mtodo GET no faz tudo para ns.

Como os valores so passados pela URL, h um limite para o nmero de bytes que sero enviados. Voc poder enviar no mximo 2000 caracteres, o que limita bastante suas possibilidades com esse mtodo.

Outra questo, agora referente segurana, sobre os tipos de dados que voc poder enviar via URL. Como nesse mtodo os dados so visveis ao usurio, no bom (na verdade pssimo) que se passe informaes confidenciais via GET. Imagine voc, navegando em um site, e de repente voc v a sua senha passando pela URL. E o pior, sendo salva no histrico do computador.

O ideal que se use o mtodo GET somente para passar parmetros para pesquisas e outras informaes no crticas. Para solucionar esses e outros problemas temos disponvel o mtodo POST.

POST

O mtodo POST representa uma alternativa ao mtodo GET para as questes de capacidade e segurana. Nesse mtodo uma conexo paralela aberta e os dados so passados por ela. No h restrio referente ao tamanho e os dados no so visveis ao usurio. H nica condio que se use um formulrio para os dados. Na tag form , temos um atributo action. Nesse atributo que selecionaremos a pgina que receber nossas informaes. Quando o boto submit for acionado todos os dados desse formulrio sero passados para a pgina definida no action. uma maneira segura e com mais capacidade em termos de espao.Legal. Aprendemos como enviar as informaes atravs dos dois mtodos para as pginas, mas ainda no sabemos como acess-los nessas pginas. O PHP armazena as variveis vindas por GET e por POST em vetores associativos (vetores cujos ndices so strings).

Vejamos como faramos isso com o exemplo do mtodo GET acima.Foram passadas duas variveis : id e descrio.Para pegar o id fazemos, por exemplo:

$meu id = $_GET[id] e $minhadescricao = $_GET [descricao]

No caso do mtodo POST, temos um vetor chamado $_POST que armazenar os dados vindos do formulrio. Vale lembrar que, nesse caso, os ndices do vetor sero as nomes dados aos inputs no seu formulrio.Para acessar os valores vindos de um formulrio com nome e idade, por exemplo, fazemos>

$nome = $_POST[nome] e $idade = $_POST [idade].

9) Na linguagem de programao PHP, a varivel $_GET obtm os dados dourlno qual esto codificados. Porm, existe um limite de caracteres para esse uso, que de:

a) 256 caracteres.b) 512 caracteres.c) 1024 caracteres.d) 2000 caracteres.e) 3 500 caracteres.

10) (EAGS SIN 2015) Na anlise do cdigo de um programa escrito em PHP, encontrou-se a seguinte linha:

$nome_do_produto = $_GET [cdigo];

Pode-se afirmar que o contedo de $_GET [cdigo]:

a) Ficar visvel na URL;b) Pode ter tamanho limitado;c) enviado no corpo da mensagem emitida ao servidor;d) Pode ter um arquivo do tipo imagem.

11) (EAGS SIN 2014) Sobre o envio de dados para programas PHP atravs de formulrios HTML utilizando o mtodo POST, correto afirmar que:

a) No h limitao quanto ao tamanho dos dados que sero enviados pelo formulrio.b) o mtodo padro de envio caso nenhum mtodo seja especificado.c) Os dados so criptografados antes de serem enviados.d) Os dados ficam visveis na URL.

PHP: Manipulao de Arquivos

1. Abrindo um Arquivo

Esse tutorial ir ensinar como manipular arquivos, utilizando o PHP. A primeira coisa que deve ser feita quando for manipular um arquivo abr-lo. Para abrir utiliza-se a funofopen()para abrir. O prottipo da funo a seguinte:resourcefopen (string$filename,string$mode [,int $use_include_path [,resource$context]] )

onde: $filename: Nome do arquivo a ser aberto; $mode: o modo de acesso do arquivo; $ use_include_path(opcional): indica se o arquivo deve ser procurado nos diretrios especificados no include_path do php.ini ; $context(opcional): permite a definio de um contexto, que um conjunto de parmetros que modificam o comportamento do arquivo.

Os parmetros opcionais no ser visto, mas precisamos entender os dois obrigatrios. Vamos testar a abertura de um arquivo, em um arquivo PHP, vamos colocar o seguinte comando:

$arq =fopen("arquivo.txt","w");

lembrando que voc deve ter permisso no diretrio que especificou no$filenamepara mexer com arquivos. No caso desse exemplo, vai ser criado um arquivo chamadoarquivo.txtno mesmo local em que o script php est (pode visualizar a pasta em que voc salvou o script), e uma referncia para este arquivo est sendo guardada na varivel$arq. Essa referncia, vamos estar utilizando para as outras funes para manipular esse arquivo.O w que foi passado para a funo indica que voc quer escrever no arquivo. As outras formas que voc pode estar utilizando no modo so:ModoDescrio

rAbre o arquivo para somente leitura. O ponteiro de indicao colocado no incio do arquivo.

r+Abre o arquivo para leitura e escrita. O ponteiro de indicao colocado no incio do arquivo.

wCria um novo arquivo, permitindo somente escrita. Caso o arquivo j exista, sobrescreve o antigo.

w+Cria um novo arquivo, permitindo a leitura e a escrita do mesmo. Caso o arquivo j exista, sobrescreve o antigo.

aAbre um arquivo com permisso somente para escrita. O ponteiro de indicao colocado no final do arquivo. Caso o arquivo no exista, ele tenta cri-lo.

a+Abre um arquivo com permisso para escrita e leitura. O ponteiro de indicao colocado no final do arquivo. Caso o arquivo no exista, ele tenta cri-lo.

xCria um arquivo para escrita somente. Se o arquivo j existe, a funo fopen falhar e retornar um erro. Se o arquivo no existe, tenta cri-lo.

x+Cria um arquivo para escrita e leitura. Se o arquivo j existe, a funo fopen falhar e retornar um erro. Se o arquivo no existe, tenta cri-lo.

Aqui falado em alguns sobre o ponteiro de indicao. Esse ponteiro de indicao mostra em que parte do arquivo voc est mexendo. Para entender melhor, imagine um documento do Word aberto com um texto grande. No meio desse texto, possui um cursor piscando e conforme voc digita, a partir desse cursor que o texto vai aparecendo. Esse cursor que fica piscando o ponteiro de indicao.

Opcionalmente, podemos adicionar depois do modo, a letra b para indicar se o arquivo que vamos manipular binrio ou texto (por exemplo, w+b para criar um novo arquivo binrio e poder ler).Um arquivo binrio contm dados na linguagem do computador e geralmente so mais rpido a leitura, porm no possvel a leitura direta do contedo. Exemplos de arquivo binrio so as imagens, a maioria dos programas executveis, msicas entre outros. J um arquivo do tipo texto so arquivos que podem ser abertos com qualquer editor de texto (Bloco de Notas, por exemplo) que voc poder ver o seu contedo.

2. Fechando um Arquivo

Quando um arquivo aberto, geralmente ele fica bloqueado para alteraes por outros meios que no seja o aplicativo que o abriu. Caso o aplicativo que abriu um arquivo, no feche o mesmo, o arquivo pode ficar bloqueado por tempo indeterminado. Por isso a importancia de sempre fechar o arquivo. Para fechar o arquivo, usamos a funofclose(). Vamos inserir o comando abaixo logo aps aofopen():

fclose($arq);

Esse o comando que fecha o arquivo. Uma vez fechado o arquivo, no poderemos mais mexer no mesmo, a no ser que utilizemos novamente a funofopen(). Ou seja, a funofopen()ser sempre a primeira funo a ser chamada numa manipulao de arquivo, enquanto ofclose()ser sempre a ltima.

3. Escrevendo no Arquivo:

Para escrever no arquivo, a primeira coisa que precisamos preparar o contedo que ser guardado no arquivo. Isso algo que varia conforme o processamento necessrio para isso. Por exemplo, quero guardar no arquivo a frase Escrevi nesse arquivo. Ento, entre ofopene ofclose, ns teramos os seguintes cdigos:

$conteudo ="Escrevi nesse arquivo";fwrite($arq,$conteudo);

Aqui a varivel$conteudovai estar guardando a nossa frase, e a funofwrite() a funo responsvel em escrever no arquivo. Execute o cdigo e verifique o arquivo que foi gerado. Vai aparecer o texto que salvamos nele.

Em caso de arquivo texto, caso queira que o texto aparea na linha de baixo, deve-se utilizar um caracter de escape, que no caso depender do interpretador, sendo:

\n: para Sistemas Linux;\r\n:para Sistemas Windows; \r: para Mac

Por exemplo, se quero escrever a mesma frase acima, mas a palavra arquivo fique na linha de baixo, em um ambiente Widows, o cdigo ficaria assim:

$conteudo ="Escrevi nesse\r\narquivo";

4. Lendo o Arquivo:

Agora que temos um arquivo com algum contedo, podemos ler esse arquivo. Entretanto, o nosso cdigo que fizemos at agora, ao abrir o arquivo, ns pedimos apenas permisso para escrever o arquivo, e no ler. Ento, aps o fclose()vamos reabrir o arquivo, mas agora com o modo de leitura ativada, que vai ficar da seguinte maneira:

$arq2 =fopen("arquivo.txt","r");

Isso dar permisso para leitura, alm de colocar o ponteiro indicador no incio do arquivo, deixando ns pronto para ler a partir desse ponteiro. A funofread() a responsvel para a leitura de arquivos, e a funo fgets() responsvel pela leitura de uma linha em um arquivo. Ento insira o cdigo o seguinte:

$dadosArq =fread($arq,1024);echo $dadosArq;fclose($arq2);

A funofread()possui dois parmetros, o primeiro o ponteiro do arquivo que queremos ler, enquanto o segundo parmetro a quantidade de dados que queremos ler em Bytes, neste caso, 1KB de dados. Caso ele chegue no final do arquivo antes dos 1024 bytes, ele retornar o que conseguiu. Se ainda tiver dados aps esses 1024 bytes, outro comandofread()deve ser chamado para ler os dados restantes.

5. Dicas:

Sempre faa a validao para se certificar que o arquivo foi realmente aberto. Exemplo:

$arq =fopen($arquivo,$modo);if(!$arq){echo"No foi possvel abrir o arquivo";} O primeiro comando sempre ser a funofopen()e o ltimo comando serfclose();

6. Resumo:

$arq = fopen($arquivo,$modo):Abre um arquivo localizado em$arquivo, com o modo$modo(leitura/gravao); fclose($arq):Fecha o arquivo referenciado pelo$arq; fwrite($arq, $dados):Grava os dados de$dadosno arquivo$arq; $dados = fread($arq,$tam):L do arquivo$arq,$tambytes de dados e armazena-os em$dados.

Exerccio: (EAGS SIN 2015): Assinale a alternativa que apresenta a funo utilizada para a leitura de uma linha de arquivo, na linguagem PHP:

a) fopenb) frwitec) feofd) fgets