O documento discute o upload e manipulação de arquivos no PHP. Ele explica como fazer upload de arquivos usando o array $_FILES, como manipular arquivos abertos no servidor usando funções como fopen(), fread(), fwrite() e unlink(), e fornece exemplos de código.
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
A linguagem PHP é conhecida por ser utilizada no desenvolvimento de aplicações web. Essa palestra visa apresentar o outro lado do desenvolvimento. Poucos sabem que é possível utilizar a linguagem para desenvolver tarefas agendadas, ferramentas multi-thread e diversas outras aplicações que rodam em terminal. Nessa palestra exploraremos o mundo do PHP-CLI.
Palestra de Rafael Jaques (@rafajaques)
Aula referente ao uso de funções para envio de e-mails, além do conceito de Cookies e Sessões em PHP. Controle de acesso a páginas e de conteúdo identificado por usuário.
O shell é o prompt da linha de comando do Unix e do Linux, que recebe e executa comandos digitados pelo usuário. Na linha de comando, podemos utilizar diversos comandos um após o outro. Se colocarmos diversas linhas de comandos em um arquivo texto, teremos um script em shell ou, um Shell Script. Além de comandos, um Shell Script pode conter todas as estruturas de uma linguagem de programação, como if, for, while, variáveis e funções.
Nesse minicurso veremos como automatizar tarefas usando Shell Script e conheceremos um pouco mais sobre alguns dos comandos mais úteis para serem utilizados tanto nos scripts quanto diretamente pela linha de comando. Além disso, veremos como customizar a inicialização do seu shell, como utilizar variáveis ambiente, criar seus próprios comandos e como criar um autocompletar para seus eles.
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
A linguagem PHP é conhecida por ser utilizada no desenvolvimento de aplicações web. Essa palestra visa apresentar o outro lado do desenvolvimento. Poucos sabem que é possível utilizar a linguagem para desenvolver tarefas agendadas, ferramentas multi-thread e diversas outras aplicações que rodam em terminal. Nessa palestra exploraremos o mundo do PHP-CLI.
Palestra de Rafael Jaques (@rafajaques)
Aula referente ao uso de funções para envio de e-mails, além do conceito de Cookies e Sessões em PHP. Controle de acesso a páginas e de conteúdo identificado por usuário.
O shell é o prompt da linha de comando do Unix e do Linux, que recebe e executa comandos digitados pelo usuário. Na linha de comando, podemos utilizar diversos comandos um após o outro. Se colocarmos diversas linhas de comandos em um arquivo texto, teremos um script em shell ou, um Shell Script. Além de comandos, um Shell Script pode conter todas as estruturas de uma linguagem de programação, como if, for, while, variáveis e funções.
Nesse minicurso veremos como automatizar tarefas usando Shell Script e conheceremos um pouco mais sobre alguns dos comandos mais úteis para serem utilizados tanto nos scripts quanto diretamente pela linha de comando. Além disso, veremos como customizar a inicialização do seu shell, como utilizar variáveis ambiente, criar seus próprios comandos e como criar um autocompletar para seus eles.
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosDaniel Brandão
Função é um trecho de código com um objetivo específico, encapsulado sob uma estrutura única que recebe parâmetros e retorna um valor. Aqui aprenderemos a usar essa estrutura utilizando a linguagem PHP.
Além do suporte à orientação a objetos o PHP 5 conta com uma série de funcionalidades e bibliotecas nativas que facilitam e otimizam o desenvolvimento de aplicações de médio e grande porte. Porém, às vesperas do lançamento da versão 5.3 do PHP, muitos profissionais ainda desconhecem as grandes vantagens dos releases 5.x da linguagem e, muitas vezes, mantém seus códigos estruturados para a versão 4.x.
2. PHP – SUMÁRIO
Upload de Arquivos
– $_FILES
Manipulação de Arquivos
– Abrir arquivos no servidor
– Ler / escrever
3. PHP – Upload de Arquivos
Envio de Arquivos para o Servidor.
Consistem em um formulário html e um script para
manipular esse arquivo.
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Arquivo:
<input type="file" name="arquivo" id="arquivo" />
<br>
<input type="submit"/>
</form>
</body>
</html>
4. PHP – Upload de Arquivos
Detalhes do Formulário
– A tag HTML <form> precisa ter uma opção content-type
com o valor "multipart/form-data" para o arquivo ser
enviado
– a tag <input> precisa ser especificada do tipo file type="file"
– o upload de arquivos pode ser uma grande brecha de
segurança num sistema, por isso é recomendado que
apenas os usuários conhecidos possam fazer upload
5. PHP – Upload de Arquivos
No arquivo que recebe o formulário, devemos usar o
array (bidimensional) $_FILES, este irá conter os
dados do arquivo que foi enviado para o servidor.
<?php
if ($_FILES["file"]["error"] > 0) {
echo "Error: " . $_FILES["file"]["error"] . "<br />";
} else {
echo "Arquivo: " . $_FILES["arquivo"]["name"] . "<br />";
echo "Tipo: " . $_FILES["arquivo"]["type"] . "<br />";
echo "Tamanho: " . ($_FILES["arquivo"]["size"] / 1024) . " Kb<br />";
echo "Arquivo Temporário: " . $_FILES["arquivo"]["tmp_name"];
}
?>
6. PHP – Upload de Arquivos
O array $_FILES é indexado da seguinte forma:
– o primeiro índice é igual ao name dado ao input no
formulário
– no segundo nível ele esta indexado pelas propriedades do
arquivo "name", "type", "size", "tmp_name" or "error"
$_FILES["arquivo"]["name"] - O nome do Arquivo.
$_FILES["arquivo"]["type"] - O Tipo do Arquivo.
$_FILES["arquivo"]["size"] - O Tamanho do Arquivo em Bytes.
$_FILES["arquivo"]["tmp_name"] - O nome temporario dado ao arquivo no servidor.
$_FILES["arquivo"]["error"] - A Mensagem de erro caso exista.
7. PHP – Upload de Arquivos
Após feito o upload é necessário copiar o arquivo temporário,
para seu real destino, porque senão será excluído assim que
terminar a execução do script
<?php
if ($_FILES["arquivo"]["error"] > 0) {
echo "Codigo de Erro: " . $_FILES["arquivo"]["error"] . "<br />";
} else {
if (file_exists("upload/" . $_FILES["arquivo"]["name"])) {
echo $_FILES["arquivo"]["name"] . " Arquivo já existente. ";
} else {
move_uploaded_file($_FILES["arquivo"]["tmp_name"],
"upload/" . $_FILES["arquivo"]["name"]);
echo "Armazenado em: " . "upload/" . $_FILES["arquivo"]["name"];
}
}
?>
8. PHP – Upload de Arquivos
como medida de segurança podem ser
adicionados filtros pelo tipo de arquivo e pelo
tamanho.
<?php
if (($_FILES["arquivo"]["type"] == "image/gif")
|| ($_FILES["arquivo"]["type"] == "image/pjpeg")
&& ($_FILES["arquivo"]["size"] < 20000)) {
// codigo de cópia
} else {
echo "Arquivo inválido";
}
?>
9. PHP – Manipulando Arquivos
Manipulando Arquivos no Servidor
Em alguns casos há necessidade de ler ou
escrever em um arquivo no servidor
– fopen() é usado para abrir um arquivo
seu primeiro parâmetro é o nome do arquivo e o
segundo o modo como esse arquivo será aberto.
<?php
$file=fopen("test.txt","r");
?>
10. PHP – Manipulando Arquivos
Modos de abrir um arquivo
r - Somente Leitura, a partir do inicio
r+ - Modo de Leitura e Escrita, a partir do inicio
w - Somente escrita, abre e limpa um arquivo ja existente, ou cria um
novo arquivo se este nao existir
w+ - Modo de Leitura e Escrita, abre e limpa um arquivo ja existente,
ou cria um novo arquivo se este nao existir
a - Modo de escrita, e começa a escrever a partir do final do arquivo,
ou cria um novo arquivo se este nao existir
a+ - Modo de Leitura e Escrita, e começa a escrever a partir do final
do arquivo, ou cria um novo arquivo se este nao existir
x - Somente Escrita, cria um novo arquivo, retorna False caso o
arquivo ja exista
x+ - Modo de Leitura e Escrita, cria um novo arquivo, retorna False
caso o arquivo ja exista
Se fopen() nao conseguir abrir o arquivo, retorna 0 (false)
11. PHP – Manipulando Arquivos
Após utilizar um arquivo é necessário fecha-
lo, para isso usa-se fclose();
<?php
$file = fopen("test.txt","r");
//código a ser executado
fclose($file);
?>
12. PHP – Manipulando Arquivos
Lendo um arquivo é possível saber quando
este não contém mais dados, usando feof()
(end-of-file)
<?php
$file = fopen("test.txt", "r");
while(!feof($file)){
echo fgets($file). "<br />";
}
fclose($file);
?>
13. PHP – Manipulando Arquivos
Para ler o conteúdo do arquivo linha por
linha usa-se fgets(), em cada interação será
selecionada uma linha do arquivo
<?php
$file = fopen("test.txt", "r");
while(!feof($file)){
echo fgets($file). "<br />";
}
fclose($file);
?>
14. PHP – Manipulando Arquivos
podemos também ler um arquivo caractere
por caractere com a função fgetc();
<?php
$file=fopen("test.txt","r");
while (!feof($file)){
echo fgetc($file);
}
fclose($file);
?>
15. PHP – Manipulando Arquivos
os dados podem ser escritos no arquivo
usando fwrite();
<?php
$file = fopen("test.txt","w");
echo fwrite($file,"Escrevendo!");
fclose($file);
?>
20. PHP – Exercícios
4 - montar um formulário, escrever num
arquivo os dados enviados por esse
formulário, e então mostrar na tela.
21. PHP – Exercícios
5 - montar um arquivo de Texto com os meses do
ano, fazer upload desse arquivo, montar uma função
para ler esse arquivo e armazenar os dados em um
vetor (manter a função num arquivo para fazer um
include) em seguida mostrar na tela todas as
posições do Array usando o foreach.
(para entregar, enviar por email para naerciof@ufpr.br
ou naercio@funpar.ufpr.br)