INE5412 – Sistemas Operacionais 1

Pagina da disciplina: http://www.inf.ufsc.br/~fernando/ine5412.htm

Listas:

Primeira e segunda: ListasExercicios-SO1-INE5412 (cortesia de Mario Baldini)

Terceira: Lista3SO1

Quarta: Lista4SO1

Laboratorios:

lab3-111

lab3-resposta

lab4

lab4-resposta

trab1

trab2

Todo o material da minha pasta: aqui

 

 

links pro livro texto:

http://www.4shared.com/get/DGZ4TJN3/Sistemas_Operacionais_Modernos.html

http://virtualtheft.wordpress.com

Upload de arquivos PHP

Formulário de envio de arquivos

A primeira coisa a fazer é criar um formulário HTML que, ao abrir uma janela, permitará a escolha do arquivo a enviar:

FORM method="POST" action="[seu arquivo PHP para fazer upload.php]" ENCTYPE="multipart/form-data">
          <INPUT type=hidden name=MAX_FILE_SIZE  VALUE=2048>
          <INPUT type=file name="nome do arquivo">
          <INPUT type=submit value="enviar">
</FORM>

É fundamental não esquecer a ENCTYPE=”multipart/form-data” ! Caso contrário, o formulário não terá nenhum efeito.

Além disso, o campo MAX_FILE_SIZE indica o tamanho máximo do arquivo a ser enviado pelo navegador mas, isto não é o bastante para garantir que os arquivos enviados não ultrapassarão um determinado tamanho na medida em que nem todos os navegadores levam em conta este tamanho. O valor do tamanho máximo do arquivo enviado é ajustável no disco rígido dentro a pasta de configuração “php.ini”.

Configuração do PHP para fazer upload

O arquivo de configuração « php.ini » contém diretivas que ajustam e que autorizam ou não o envio de arquivos através de um formulário:

file_uploads= On/Off autoriza ou não o envio de arquivos.
upload_tmp_dir = diretório define temporáriamente o diretório, possibilitando a recepção do arquivo enviado.
upload_max_filesize = 2M define o tamanho máximo permitido do arquivo. Se este limite for ultrapassado, o servidor enviará um alerta de erro.
post_max_size indica o tamanho máximo de dados enviados por formulário. Esta diretiva tem primazia sobre o upload_max_filesize ; assim, certifique-se que você tem post_max_size superior a upload_max_filesize

Se você não tiver acesso à configuração (no caso de um site hospedado em um servidor do provedor de acesso ou de uma hospedagem compartilhada), pode-se verificar a configuração graças à função phpinfo() :

<?
  phpinfo();
?>

Recuperação do arquivo com PHP

O arquivo e suas informações podem ser encontrados através da variável superglobal $_FILES[].
Para afixar o seu conteúdo, utilize o seguinte script:
<pre><? print_r($_FILES); ?></pre>

A saída deste código será da seguinte forma :

Array
(
    [nome_do_arquivo] => Array
        (
            [name] => MaBelleImage.jpg
            [type] => image/jpg
            [tmp_name] => chemin_complet_du_fichier_uploadé
            [error] => 0
            [size] => 1000
        )
)

No caso acima, trata-se de uma imagem JPEG pesando 1 Mo.

Os campos $_FILES[name], $_FILES[type], $_FILES|error], $_FILES[size] permitem testar o tipo de arquivo, seu tamanho , seu nome e verificar se houve erros.

Assim, você pode corrigir os erros da seguinte maneira:

<?
if ($_FILES['nome do arquivo']['error']) {
          switch ($_FILES['nome_do_arquivo']['error']){
                   caso 1: // UPLOAD_ERR_INI_SIZE
                   echo"O arquivo ultrapassa o limite autorizado pelo servidor(arquivo php.ini) !";
                   break;
                   caso 2: // UPLOAD_ERR_FORM_SIZE
                   echo " O arquivo ultrapassa o limite autorizado no formulário HTML !");
                   break;
                   caso 3: // UPLOAD_ERR_PARTIAL
                   echo "O envio do arquivo foi interrompido durante a transferência!";
                   break;
                   caso 4: // UPLOAD_ERR_NO_FILE
                   echo "O arquivo que você enviou tem um tamanho zero !");
                   break;
          }
}
else {
 // $_FILES['nome_do arquivo']['error'] vale 0 ou seja UPLOAD_ERR_OK
 // o que significa que não houve erro
}
?>

Com o move_uploaded_files() é possível transferir uma imagem do diretório temporário a um diretório de destino :

<?

if ((isset($_FILES['nom_du_fichier']['arquivo'])&&($_FILES['nome_do arquivo']['error'] == UPLOAD_ERR_OK)) {
$caminho_destino = '/var/www/arquivos/';
move_uploaded_file($_FILES['nome_do_arquivo']['tmp_name'], $caminho_destino.$_FILES['nome_do_arquivo']['name']);
}
?>

Fonte:
http://pt.kioskea.net/faq/111-php-atualizar-arquivos

Guake Terminal

Para os usuários de terminal aqui fica uma dica muito boa:

Guake Terminal !

Ele é um terminal integrado ao gnome que faz a vida ser muito mais fácil. Após instalado basta clicar no F12 que ele aparecerá!

Instalação:

Debian/Ubuntu:

apt-get install guake

Fedora

yum install guake

Gentoo

emerge -av guake

Compile Guake

Compile from sources

General information on how to compile guake can be found in the INSTALL file

Compile on FreeBSD

This page contains information on how to compile Guake on FreeBSD

Dicas:

– Colocar o Guake para inicial junto com a sessão, isso faz ele estar sempre dispoinível.

– Nas preferencias do Guake tirar os avios de inicialização e a opção de mostrar o icone da bandeja.

– Colocar um efeito de transparência mais fraco para o que estiver de fundo não atrapalhar a escrita e leitura.

– Para copiar e colar no terminal guake basta usar, Ctrl+Shift+C e depois Ctrl+Shift+V .

– Uma nova aba do terminal , Ctrl+Shift+T

– Mudar entre abas, Ctrl+pg up e Ctrl+pg down

– Assim você pode usar o Guake a toda hora sem precisar nada mais e nada a menos que um F12.

Fontes:

http://guake.org

Redimensionar e rotacionar imagens no Ubuntu

Você foi fazer uma viagem/passeio/aniversario/churrasco com galera e bateu foto de tudo e ficou de mandar pra galera, mas na hora do envio as fotos ficaram com 300, 500, 600 Mega bytes e você não sabe o que fazer para compartilhar essas fotos com a galera???

Seus problemas acabaram!

Instale o Nautilus Image Converter uma extensão do Nautilus para Redimensionar e rotacionar imagens!

Nada de programas complexos! Nada de scripts de POG! Nada de Paint!

Resolvemos nosso problema, através de um clique, abra o menu das opções com uma opção para redimensionar.

Ele faz exatamente o que se quer, aparece quando se clica numa imagem, redimensiona uma imagem ou rotaciona ela e ainda dá a possibilidade de sobrepor o resultado ou então criar um novo arquivo.

Instalação do Nautilus Image Converter
Tal como na maioria dos programas em Ubuntu, a instalação é muito simples,

no Terminal:

$ sudo apt-get install nautilus-image-converter