Seja Enviar um ficheiro para o servidor 402783 a HawkDesign, para ter acesso aos conteúdos exclusivos dos membros, por favor Registre-se!


Atenciosamente Gamer

Participe do fórum, é rápido e fácil

Seja Enviar um ficheiro para o servidor 402783 a HawkDesign, para ter acesso aos conteúdos exclusivos dos membros, por favor Registre-se!


Atenciosamente Gamer

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Últimos assuntos

» Tutorial tag guerra
Enviar um ficheiro para o servidor I_icon_minitimeSáb Out 18, 2014 12:29 am por orthon

» Iniciante Smudge
Enviar um ficheiro para o servidor I_icon_minitimeQui Ago 21, 2014 2:56 am por Cdubb

» Um Novo Aprendiz!
Enviar um ficheiro para o servidor I_icon_minitimeQui Ago 21, 2014 2:50 am por Cdubb

» Eaw galera
Enviar um ficheiro para o servidor I_icon_minitimeQua Ago 13, 2014 5:09 am por Cdubb

» [PSD] Tutorial !
Enviar um ficheiro para o servidor I_icon_minitimeSáb Ago 31, 2013 5:22 pm por Paulo_ComandBR

» Reasource Pack #1 Hawkdesign
Enviar um ficheiro para o servidor I_icon_minitimeTer Jun 18, 2013 11:46 pm por edicelio

» [ Sing ]Capitão America
Enviar um ficheiro para o servidor I_icon_minitimeDom Jun 02, 2013 1:50 am por edicelio

» Minha Primeira Borda Modelada
Enviar um ficheiro para o servidor I_icon_minitimeDom Jun 02, 2013 1:47 am por edicelio

» V for Vendetta
Enviar um ficheiro para o servidor I_icon_minitimeDom Jun 02, 2013 1:40 am por edicelio

» Gamer *--*
Enviar um ficheiro para o servidor I_icon_minitimeQui maio 30, 2013 10:58 pm por ϟƘƦƖןןΣx

» [Scorpion]Sign
Enviar um ficheiro para o servidor I_icon_minitimeQui maio 30, 2013 4:02 pm por ϟƘƦƖןןΣx

» Avaliem o kit ?
Enviar um ficheiro para o servidor I_icon_minitimeQui maio 30, 2013 3:45 pm por ϟƘƦƖןןΣx

» Leilão sign Jimi Hendrix
Enviar um ficheiro para o servidor I_icon_minitimeQui maio 30, 2013 2:31 pm por ϟƘƦƖןןΣx

» Doações para o forum!
Enviar um ficheiro para o servidor I_icon_minitimeQui maio 30, 2013 2:06 pm por ϟƘƦƖןןΣx

» Apresentação
Enviar um ficheiro para o servidor I_icon_minitimeQua maio 29, 2013 10:10 pm por ϟƘƦƖןןΣx

Top dos mais postadores

Gamer (4166)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
-Ice™ (3994)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
Doritosz™ (2125)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
- S t r y o n ' (2061)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
RafaNatural (1093)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
~ y i n g j i e (1062)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
-Vorteck ;3 (1033)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
Sky (1000)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
Hachi' (968)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 
Domi (861)
Enviar um ficheiro para o servidor Left_bar_bleueEnviar um ficheiro para o servidor BarEnviar um ficheiro para o servidor Right_bar_bleue 

Quem está conectado?

37 usuários online :: 0 registrados, 0 invisíveis e 37 visitantes :: 1 motor de busca

Nenhum


[ Ver toda a lista ]


O recorde de usuários online foi de 284 em Sáb Abr 10, 2021 8:52 am

Link-ME


Nós Na Área

Enviar um ficheiro para o servidor 93249840

Seletor de temas

  

3 participantes

    Enviar um ficheiro para o servidor

    RafaNatural
    RafaNatural
    Estudante
    Estudante


    Mensagens : 1093
    Coins : 294
    Frase : Antes só do quer mal Acompanhado!
    Sexo : Masculino
    Localização : Aracaju

    Enviar um ficheiro para o servidor Empty Enviar um ficheiro para o servidor

    Mensagem por RafaNatural Dom Set 18, 2011 10:14 pm

    O PHP suporta várias funcionalidades, por isso o seu grande sucesso entre os programadores que procuram facilidade de programação, suporta bases de dados,
    corre independentemente do sistema operativo utilizado e hardware, entre outros.

    Dentro das funcionalidades do PHP está o suporte para o envio de ficheiros para o servidor através de um formulário HTML. Qualquer tipo de ficheiro pode ser enviado para o servidor, seja ele uma imagem, um ficheiro de texto, uma base de dados, etc., ou melhor dizendo, seja o ficheiro binário ou texto.

    Para enviar um ficheiro, primeiro precisamos de criar um formulário para o utilizador indicar qual o ficheiro que deseja enviar:






    ATENÇÃO: O parâmetro "enctype" é obrigatório, sem ele não é possível enviar o ficheiro para o servidor!

    Para o php aceitar o ficheiro, alguns parâmetros devem estar configurados correctamente no php:

    file_uploads = On - O PHP aceita o envio de ficheiro;

    upload_tmp_dir = - Qual o directório que onde o php guardará "temporariamente" o ficheiro enviado.

    upload_max_filesize = 2M - Tamanho máximo do ficheiro aceito pelo php

    Normalmente o PHP já vem configurado para aceitar o upload de ficheiros, mas é sempre bom verificar a sua configuração no php.ini para não ter mais tarde dores de cabeça.

    Além do limite de tamanho do ficheiro imposto pela configuração do php (que serve para todos os scripts do servidor) podemos também limitar o tamanho utilizando uma configuração do formulário:



    Neste caso estamos a limitar o tamanho máximo do ficheiro em 1024 bytes. Mas não é recomendável confiar neste parâmetro, pois qualquer pessoa com algum conhecimento de HTML conseguirá retirar este limite. Mais abaixo mostrarei outra solução para isto.

    Tudo bem, o utilizador selecionou o ficheiro para ser enviado e pressionou o botão "Enviar ficheiro", se crias-te um ficheiro com o formulário acima e um ficheiro "teste.php" (pode ser o mesmo ficheiro do formulário) o browser do utilizador irá enviar o ficheiro para o servidor, e nada vai acontecer, além do php ter guardado o ficheiro no directório temporário e apagado o ficheiro no final da execução do script. Então teremos que fazer mais qualquer coisa com o ficheiro. Após receber o ficheiro, o php guarda-o num directório temporário, com um nome escolhido por ele, e criará várias variáveis globais com informações deste ficheiro, baseadas no nome que escolhemos para o campo, no nosso caso "ficheiro":

    $ficheiro : nome do ficheiro, com seu caminho absoluto, onde o php o guardou
    $ficheiro_name : nome do ficheiro, absoluto, na máquina do utilizador
    $ficheiro_size : tamanho em bytes do ficheiro
    $ficheiro_type : tipo "MIME" do ficheiro

    Com essas variáveis podemos agora fazer qualquer coisa com o ficheiro. Podemos, por exemplo, verificar se o ficheiro tem um tamanho abaixo do limite maximo desejado para ser enviado (isto é muito importante, pois impossibilita que alguém envie um ficheiro tão grande que possa bloquear o servidor). Usamos o seguinte script:

    if($ficheiro_size > 1024) {
    print "O tamanho do ficheiro é maior do que o limite permitido
    ";
    exit;
    }
    ?>

    Para não deixar alguns utilizadores irritados, podemos usar as duas opções juntas, o limite configurado dentro do formulário e o limite dentro do script, assim os utilizadores normais não terão a decepção de esperar vários minutos para enviar o ficheiro para o servidor e só depois serem avisados que o ficheiro era grande demais, assim o browser acusa o tamanho demasiado grande antes de enviar o ficheiro, e os utilizadores "espertinhos" terão uma decepção ao descobrir que existia outra limitação.

    Precisamos agora fazer alguma coisa com o ficheiro antes de terminar o script, senão o php irá apagá-lo. Temos o nome do ficheiro na váriavel "ficheiro", então precisamos colocá-lo num lugar do servidor. Podemos usar a função do php "copy". A função copy exige 2 parâmetros: fonte e destino, e retorna verdadeiro ou falso, ou seja, se copiou ou não. Atenção para quem vai usar este método num sistema Linux, unix ou qualquer outro que tenha suporte para permissões de ficheiros, pois a função "copy" irá executar uma cópia do ficheiro como o utilizador que executa o servidor, portanto, se o utilizador/grupo que executa o servidor não tiver permissão de escrita no directório de destino, não vai ser possível copiar o ficheiro para lá. Neste caso, tente gravar no /tmp, que costuma ter permissão de escrita para todos os utilizadores, ou dê a permissão a um directório específico só para gravar os ficheiros. Supondo que o servidor tem permissão de escrita no subdirectório ficheiro do directório do nosso script, vamos gravar:

    ....
    if(copy($ficheiro,"ficheiro/ficheiro_do_utilizador")) {
    print "O ficheiro foi recebido com êxito!
    ";
    } else {
    print "Ocorreu um erro ao receber o ficheiro!
    ";
    }
    ?>

    Pronto, agora o ficheiro foi salvo como ficheiro_do_utilizador no subdiretório ficheiro. Note que todos os utilizadors que enviarem o ficheiro para o servidor terão os seus ficheiro salvos com o mesmo nome, portanto, só um ficheiro irá existir, e será o ficheiro do último utilizador que enviou o ficheiro.

    Fica para o leitor o exercício de criar um ficheiro único para cada utilizador e que um mesmo utilizador não consiga enviar mais do que três ficheiros por login.

    Em breve haverá um tutorial que explicará como fazer isto
    Gamer
    Gamer
    Fundador
    Fundador


    Mensagens : 4166
    Coins : 2018
    Idade : 26
    Sexo : Masculino
    Localização : Na frente do computador

    Enviar um ficheiro para o servidor Empty Re: Enviar um ficheiro para o servidor

    Mensagem por Gamer Dom Set 18, 2011 10:43 pm

    Putz se entende alguma coisa disso?
    Sky
    Sky
    Moderador Expert
    Moderador Expert


    Mensagens : 1000
    Coins : 148
    Frase : '' Tudo posso naquele que me fortaleçe. ''
    Sexo : Masculino
    Localização : Sertãozinho - São Paulo

    Enviar um ficheiro para o servidor Empty Re: Enviar um ficheiro para o servidor

    Mensagem por Sky Qua Set 21, 2011 9:53 pm

    Obrigado por compartilhar!

    Conteúdo patrocinado


    Enviar um ficheiro para o servidor Empty Re: Enviar um ficheiro para o servidor

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qua maio 08, 2024 6:50 pm