Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alysson122010

Sistema de upload de video

Recommended Posts

Então, alysson, você só precisa fazer um formulário bem simples em HTML mesmo com um input do tipo file e um submit. Pode também criar outro do tipo text ou textfield caso queira deixar a pessoa escolher um nome pro vídeo, mas por enquanto vamos deixar isso de lado pra facilitar.

 

Tendo criado isso, coloque name e ID no seu input tipo file e use o form com o método post para o envio.

 

Crie a página que vai fazer, de fato, o upload do vídeo. Antes de qualquer coisa, nessa página coloque apenas isso aqui e veja como o servidor trata o arquivo enviado para que você entenda e possa prosseguir:

 

echo "<pre>";
print_r($_FILES);
echo "</pre>";

 

Assim você consegue entender como o arquivo será tratado.

 

A partir daí, faça crie uma variável com o nome da pasta em que deseja salvar seu vídeo enviado. Faça um !is_dir() para verificar se a pasta que você escolheu existe e caso não exista, mande fazer um mkdir() para criá-la. Depois use o move_uploaded_file() para enviar o arquivo para sua hospedagem. Agora basta mandar imprimir o link e está pronto seu sistema de envio de vídeos.

 

Caso queira incrementar, pode depois fazer verificação de tipo de arquivo permitido, pra pessoa escolher um nome pro arquivo, pode mandar exibir automaticamente, enfim. Há infinidades de coisas que você pode fazer, mas antes estude isso que te falei e crie o seu próprio sistema de upload. Aí então vá melhorando ele aos poucos, conforme for aprendendo novas coisas :joia:

 

Edit básico só pra avissar que: se você tiver problemas em enviar vídeos grandes poste aqui. Talvez seja necessário mudar seu upload_max_filesize ou o post_max_size.

 

Qualquer dúvida, poste aqui. Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, alysson. Te dar um pronto é te atrapalhar, você aprendendo a montar o seu próprio vai facilitar o resto da sua vida, acredite. obs: demorei a responder pq fiquei sem net um tempo.

 

Mas, vamos lá ao passo-a-passo: crie um formulário simples, como esse:

 

<form name="upload" enctype="multipart/form-data" method="post" action="upload.php">

        <input type="file" name="arquivo" value="arquivo" />
	<label>
	<input name="enviar" type="submit" value="Enviar">
	</label>
		
</form>

 

Até aqui o que fizemos foi:

  1. Declarar um form com o enctype="multipart/form-data". Isso é obrigatório quando estamos fazendo manipulamento de arquivos
  2. Criamos um campo submit para enviar o vídeo

Apenas isso.

 

Agora vem o script de envio. Crie o upload.php assim, antes de qualquer coisa:

echo "<pre>";
print_r($_FILES);
echo "</pre>";

 

Assim você poderá ver como o PHP trata o arquivo enviado.

 

Dê uma estudada aqui (http://br.php.net/manual/pt_BR/features.file-upload.post-method.php) que você vai ver que cada arquivo tem 5 propriedades.

 

Agora vamos ao envio propriamente dito. Apague estas linhas acima (ou deixe, se quiser, mas recomendo que apague...) e coloque isso:

<?php
$diretorio = "suapasta";

if (!is_dir($diretorio)){ echo "A pasta $diretorio nao existe...";} 
else { echo"A pasta Existe!!!<br>";

$arquivo=$_FILES["arquivo"];
$destino = $diretorio."/".$arquivo['name'];

if (move_uploaded_file($arquivo['tmp_name'],$destino)) {echo "MOVEUUUUUU<br>"; }
else {echo "NAOOOO MOVEU";}

}// fecha o else do primeiro if
?>

 

Primeira coisa antes de ver se ira funcionar ou não é criar a pasta no servidor e atribuir "777" nela (o conhecido chmod), ou seja, todas as permições. Para atribuir clique com o botão direito nela e procure algo como attribute.

 

Assim sendo, vejamos o que foi feito no script:

  • $diretorio é o nome da pasta que você criou para salvar seus uploads;
  • !is_dir vai verificar se a pasta existe ou não. Caso exista, continua e faz upload. Do contrário, imprime a mensagem;
  • $arquivo=$_FILES["arquivo"] vai pegar a variável que contém o arquivo que você enviou pelo form;
  • $destino é o caminho final, onde você vai salvar seu vídeo. Aqui eu concatenei o nome da pasta que você criou com o nome do arquivo que você enviou, sendo assim, quando o arquivo for salvo, ele vai ficar em algum lugar como minha_pasta/nome_do_meu_arquivo.extensao.
  • move_uploaded_file é a função que faz o upload, propriamente dito. Ele move o arquivo de seu local temporário para o seu servidor, como o arquivo final. Leia isso (http://br.php.net/manual/pt_BR/function.move-uploaded-file.php) para entender melhor.

Simples assim. Você já tem um script de upload pronto. Agora é só estudar o funcionamento e ir aprimorando. Lembre-se de usar o:

echo "<pre>";
print_r($_FILES);
echo "</pre>";

 

para ver como o PHP trata o arquivo enviado.

 

Abraço, espero que tenha sucesso estudando e aprimorando o sistema de upload do PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que nada, :D

Conforme você for aprimorando e pegando as manhas, você pode migrar pra classe de upload do verot, ela é muito boa e completa. Eu a uso e nunca tive problemas (exceto pelos vídeos grandes que até hoje ninguém conseguiu resolver, já que não tem nada errado e mesmo assim não funciona O.o meu host que deve ser bichado mesmo, há um bom tempo ele vem dando problemas rs). O link aqui pra calsse do Verot: http://www.verot.net/php_class_upload.htm

 

Abraço e tendo dúvidas é só falar ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal auguem ai tem um sistema para upload de vídeo com banco de dados?

 

 

ajuda ai galerinha :)

Alisson, o sistema de upload com banco de dados é o mesmo a cima, a única coisa que você vai fazer antes da } que fecha o primeiro if, é fazer uma query "INSERT" com os dados dos arquivos que você quer inserir no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 06/03/2013 at 18:08, Diego Rinno disse:

Então, alysson. Te dar um pronto é te atrapalhar, você aprendendo a montar o seu próprio vai facilitar o resto da sua vida, acredite. obs: demorei a responder pq fiquei sem net um tempo.

 

Mas, vamos lá ao passo-a-passo: crie um formulário simples, como esse:

 


<form name="upload" enctype="multipart/form-data" method="post" action="upload.php">

        <input type="file" name="arquivo" value="arquivo" />
	<label>
	<input name="enviar" type="submit" value="Enviar">
	</label>
		
</form>

 

Até aqui o que fizemos foi:

  1. Declarar um form com o enctype="multipart/form-data". Isso é obrigatório quando estamos fazendo manipulamento de arquivos
  2. Criamos um campo submit para enviar o vídeo

Apenas isso.

 

Agora vem o script de envio. Crie o upload.php assim, antes de qualquer coisa:


echo "<pre>";
print_r($_FILES);
echo "</pre>";

 

Assim você poderá ver como o PHP trata o arquivo enviado.

 

Dê uma estudada aqui (http://br.php.net/manual/pt_BR/features.file-upload.post-method.php) que você vai ver que cada arquivo tem 5 propriedades.

 

Agora vamos ao envio propriamente dito. Apague estas linhas acima (ou deixe, se quiser, mas recomendo que apague...) e coloque isso:


<?php
$diretorio = "suapasta";

if (!is_dir($diretorio)){ echo "A pasta $diretorio nao existe...";} 
else { echo"A pasta Existe!!!<br>";

$arquivo=$_FILES["arquivo"];
$destino = $diretorio."/".$arquivo['name'];

if (move_uploaded_file($arquivo['tmp_name'],$destino)) {echo "MOVEUUUUUU<br>"; }
else {echo "NAOOOO MOVEU";}

}// fecha o else do primeiro if
?>

 

Primeira coisa antes de ver se ira funcionar ou não é criar a pasta no servidor e atribuir "777" nela (o conhecido chmod), ou seja, todas as permições. Para atribuir clique com o botão direito nela e procure algo como attribute.

 

Assim sendo, vejamos o que foi feito no script:

  • $diretorio é o nome da pasta que você criou para salvar seus uploads;
  • !is_dir vai verificar se a pasta existe ou não. Caso exista, continua e faz upload. Do contrário, imprime a mensagem;
  • $arquivo=$_FILES["arquivo"] vai pegar a variável que contém o arquivo que você enviou pelo form;
  • $destino é o caminho final, onde você vai salvar seu vídeo. Aqui eu concatenei o nome da pasta que você criou com o nome do arquivo que você enviou, sendo assim, quando o arquivo for salvo, ele vai ficar em algum lugar como minha_pasta/nome_do_meu_arquivo.extensao.
  • move_uploaded_file é a função que faz o upload, propriamente dito. Ele move o arquivo de seu local temporário para o seu servidor, como o arquivo final. Leia isso (http://br.php.net/manual/pt_BR/function.move-uploaded-file.php) para entender melhor.

Simples assim. Você já tem um script de upload pronto. Agora é só estudar o funcionamento e ir aprimorando. Lembre-se de usar o:


echo "<pre>";
print_r($_FILES);
echo "</pre>";

 

para ver como o PHP trata o arquivo enviado.

 

Abraço, espero que tenha sucesso estudando e aprimorando o sistema de upload do PHP.

O primeiro código que ensinou  testei no site fica certinho, mas não é só isso não né tem mais ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.