1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? - PDF Download grátis
Download "1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?"
Bernadete Capistrano Quintão
1 Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? 2) Considere a linguagem de programação PHP e seus operadores. A execução da sentença: a) (A!= B) retorna falso (false), considerando as variáveis A e B inicializadas com os valores 3 e 6, respectivamente. b) (A %= B) atribui o valor 3 (três) para a variável A, considerando as variáveis A e B inicializadas com os valores 10 e 3, respectivamente. c) (A. = B) concatena o conteúdo das variáveis A e B e armazena o conteúdo em A. d)!(a == B) retorna falso (false), considerando as variáveis A e B inicializadas com os valores 3 e 6, respectivamente. e) (A = = = B) compara somente os tipos das variáveis A e B. 3) Considere o programa abaixo escrito na linguagem PHP. O que será impresso em tela, ao final de toda a execução do código? 4) Analise os exemplos de criação de array em PHP. I. $idade = array("paulo"=>32, "Pedro"=>30, "Ana"=>34); II. $familia = array("jorge"=>array("angela","iracema", "Bia"),"Pedro"=>array("Ana"));
2 III. $nome[0] ="Paulo"; $nome[1] ="Pedro"; $nome[2] ="Ana"; IV. $idade['paulo'] = "32"; $idade['pedro'] = "30"; $idade['ana'] = "34"; Representam exemplos corretos de criação de array os 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 execução do código abaixo, escrito em PHP? 6) Qual será o retorno impresso em tela após a execução do código-fonte em PHP, abaixo? 7) Identifique com V as afirmativas verdadeiras e com F, as falsas. ( ) Na versão 5, PHP é uma linguagem orientada para objetos. ( ) PHP é uma linguagem interpretada. ( ) É possível fazer uso de conexão a servidores Wamp, através da Linguagem PHP. A alternativa que contém a sequência correta, de cima para baixo, é a: a) V V V b) V V F c) V F V d) F V F e) F F F 8) (EAGS SIN adaptada) Analise a linha de código abaixo, desconsiderando o zero como valor a ser atribuído às variáveis $a e $b. Qual será o valor da variável $c, se $a for um número par acima de 2 e $b for ímpar? $c = ($a % $b!= 0)? ($a * $b) : ($a + $b);
3 Enviando dados via GET e POST no PHP Quando desenvolvemos um site dinâmico, geralmente temos a necessidade de passar alguns valores de uma página para a outra, para podermos, então, realizar operações como consultas e inserções no banco, autenticação de usuários, etc. No PHP os dois métodos mais utilizado para isso são o GET e POST. Vamos falar um pouco mais sobre eles agora. GET É o método mais simples e mais limitado para se usar. Neste caso os valores e seus respectivos identificadores são transmitidos pela URL, não sendo preciso a abertura de uma nova conexão (explicaremos melhor isso quando falarmos do método POST). Quem nunca viu uma URL desse tipo: Esse exemplo demonstra na prática o uso da passagem de parâmetros via GET. A presença da interrogação indica o fim do endereço e o início da declaração dos nossos valores que serão passados. Neste caso, a página versecao.php receberá uma variável chamada id com o valor 32, e outra variável descricao com valor Minha_Secao. Pronto! Você provavelmente deverá estar pensando: Ótimo. Vou passar todos os meus valores via GET, pela URL. Porém, como nem tudo é perfeito, o método GET não faz tudo para nós. Como os valores são passados pela URL, há um limite para o número de bytes que serão enviados. Você poderá enviar no máximo 2000 caracteres, o que limita bastante suas possibilidades com esse método. Outra questão, agora referente à segurança, é sobre os tipos de dados que você poderá enviar via URL. Como nesse método os dados são visíveis ao usuário, não é bom (na verdade é péssimo) que se passe informações 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 histórico do computador. O ideal é que se use o método GET somente para passar parâmetros para pesquisas e outras informações não críticas. Para solucionar esses e outros problemas temos disponível o método POST. POST O método POST representa uma alternativa ao método GET para as questões de capacidade e segurança. Nesse método uma conexão paralela é aberta e os dados são passados por ela. Não há restrição referente ao tamanho e os dados não são visíveis ao usuário. Há única condição é que se use um formulário para os dados. Na tag form, temos um atributo action. Nesse atributo é que selecionaremos a página que receberá nossas informações. Quando o botão submit for acionado todos os dados desse formulário serão passados para a página definida no action. É uma maneira segura e com mais capacidade em termos de espaço. Legal. Aprendemos como enviar as informações através dos dois métodos para as páginas, mas ainda não sabemos como acessá-los nessas páginas. O PHP armazena as variáveis vindas por GET e por POST em vetores associativos (vetores cujos índices são strings). Vejamos como faríamos isso com o exemplo do método GET acima. Foram passadas duas variáveis : id e descrição. Para pegar o id fazemos, por exemplo: $meu id = $_GET[ id ] e $minhadescricao = $_GET [ descricao ] No caso do método POST, temos um vetor chamado $_POST que armazenará os dados vindos do formulário. Vale lembrar que, nesse caso, os índices do vetor serão as nomes dados aos inputs no seu formulário. Para acessar os valores vindos de um formulário com nome e idade, por exemplo, fazemos>
4 $nome = $_POST[ nome ] e $idade = $_POST [ idade ]. 9) Na linguagem de programação PHP, a variável $_GET obtém os dados do url no qual estão codificados. Porém, existe um limite de caracteres para esse uso, que é de: a) 256 caracteres. b) 512 caracteres. c) 1024 caracteres. d) 2000 caracteres. e) caracteres. 10) (EAGS SIN 2015) Na análise do código de um programa escrito em PHP, encontrou-se a seguinte linha: $nome_do_produto = $_GET [ código ]; Pode-se afirmar que o conteúdo de $_GET [ código ]: a) Ficará visível 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 através de formulários HTML utilizando o método POST, é correto afirmar que: a) Não há limitação quanto ao tamanho dos dados que serão enviados pelo formulário. b) É o método padrão de envio caso nenhum método seja especificado. c) Os dados são criptografados antes de serem enviados. d) Os dados ficam visíveis na URL. PHP: Manipulação 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 função fopen() para abrir. O protótipo da função é a seguinte: resource fopen ( 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 diretórios especificados no include_path do php.ini ; $context (opcional): permite a definição de um contexto, que é um conjunto de parâmetros que modificam o comportamento do arquivo. Os parâmetros opcionais não será visto, mas precisamos entender os dois obrigatórios. 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 permissão no diretório que especificou no $filenamepara mexer com arquivos. No caso desse exemplo, vai ser criado um arquivo chamado arquivo.txt no mesmo local em que o script php está (pode visualizar a pasta em que você salvou o script), e uma referência para este arquivo está sendo guardada na
5 variável $arq. Essa referência, vamos estar utilizando para as outras funções para manipular esse arquivo. O w que foi passado para a função indica que você quer escrever no arquivo. As outras formas que você pode estar utilizando no modo são: Modo r Descrição Abre o arquivo para somente leitura. O ponteiro de indicação é colocado no início do arquivo. r+ Abre o arquivo para leitura e escrita. O ponteiro de indicação é colocado no início do arquivo. w Cria 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. a Abre um arquivo com permissão somente para escrita. O ponteiro de indicação é colocado no final do arquivo. Caso o arquivo não exista, ele tenta criá-lo. a+ Abre um arquivo com permissão para escrita e leitura. O ponteiro de indicação é colocado no final do arquivo. Caso o arquivo não exista, ele tenta criá-lo. x Cria um arquivo para escrita somente. Se o arquivo já existe, a função fopen falhará e retornará um erro. Se o arquivo não existe, tenta criá-lo. x+ Cria um arquivo para escrita e leitura. Se o arquivo já existe, a função fopen falhará e retornará um erro. Se o arquivo não existe, tenta criá-lo. Aqui é falado em alguns sobre o ponteiro de indicação. Esse ponteiro de indicação 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 indicação. Opcionalmente, podemos adicionar depois do modo, a letra b para indicar se o arquivo que vamos manipular é binário ou texto (por exemplo, w+b para criar um novo arquivo binário e poder ler). Um arquivo binário contém dados na linguagem do computador e geralmente são mais rápido a leitura, porém não é possível a leitura direta do conteúdo. Exemplos de arquivo binário são as imagens, a maioria dos programas executáveis, músicas entre outros. Já um arquivo do tipo texto são arquivos que podem ser abertos com qualquer editor de texto (Bloco de Notas, por exemplo) que você poderá ver o seu conteúdo. 2. Fechando um Arquivo Quando um arquivo é aberto, geralmente ele fica bloqueado para alterações por outros meios que não seja o aplicativo que o abriu. Caso o aplicativo que abriu um arquivo, não 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 função fclose(). Vamos inserir o comando abaixo logo após aofopen(): fclose($arq); Esse é o comando que fecha o arquivo. Uma vez fechado o arquivo, não poderemos mais mexer no mesmo, a não ser que utilizemos novamente a funçãofopen(). Ou seja, a função fopen() será sempre a primeira função a ser chamada numa manipulação de arquivo, enquanto o fclose() será sempre a última. 3. Escrevendo no Arquivo: Para escrever no arquivo, a primeira coisa que precisamos é preparar o conteúdo que será guardado no arquivo. Isso é algo que varia conforme o processamento necessário para isso. Por exemplo, quero guardar no arquivo a frase Escrevi nesse arquivo. Então, entre o fopen e o fclose, nós teríamos os seguintes códigos:
6 $conteudo = "Escrevi nesse arquivo"; fwrite($arq,$conteudo); Aqui a variável $conteudo vai estar guardando a nossa frase, e a função fwrite() é a função responsável em escrever no arquivo. Execute o código e verifique o arquivo que foi gerado. Vai aparecer o texto que salvamos nele. Em caso de arquivo texto, caso queira que o texto apareça 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 código ficaria assim: $conteudo = "Escrevi nesse\r\narquivo"; 4. Lendo o Arquivo: Agora que temos um arquivo com algum conteúdo, podemos ler esse arquivo. Entretanto, o nosso código que fizemos até agora, ao abrir o arquivo, nós pedimos apenas permissão para escrever o arquivo, e não ler. Então, após 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á permissão para leitura, além de colocar o ponteiro indicador no início do arquivo, deixando nós pronto para ler a partir desse ponteiro. A função fread() é a responsável para a leitura de arquivos, e a função fgets() é responsável pela leitura de uma linha em um arquivo. Então insira o código o seguinte: $dadosarq = fread($arq,1024); echo $dadosarq; fclose($arq2); A função fread() possui dois parâmetros, o primeiro é o ponteiro do arquivo que queremos ler, enquanto o segundo parâmetro é 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 após esses 1024 bytes, outro comando fread() deve ser chamado para ler os dados restantes. 5. Dicas: Sempre faça a validação para se certificar que o arquivo foi realmente aberto. Exemplo: $arq = fopen($arquivo,$modo); if(!$arq){ echo "Não foi possível abrir o arquivo"; } O primeiro comando sempre será a função fopen() e o último comando será fclose(); 6. Resumo: $arq = fopen($arquivo,$modo): Abre um arquivo localizado em$arquivo, com o modo $modo (leitura/gravação); fclose($arq): Fecha o arquivo referenciado pelo $arq; fwrite($arq, $dados): Grava os dados de $dados no arquivo $arq;
7 $dados = fread($arq,$tam): Lê do arquivo $arq, $tam bytes de dados e armazena-os em $dados. Exercício: (EAGS SIN 2015): Assinale a alternativa que apresenta a função utilizada para a leitura de uma linha de arquivo, na linguagem PHP: a) fopen b) frwite c) feof d) fgets