AnaLuisaP Posted September 15, 2013 at 02:43 PM Report #524631 Posted September 15, 2013 at 02:43 PM Boa tarde, Tenho estado de volta de um site, em que me foi pedido para inserir videos no site através de um formulário, mas não consigo inseri-los na Base de Dados, alguém sabe como posso fazer? É que muito menos dei isso nas aulas =/ e já procurei e não encontro nada, e tenho de ter tudo feito até amanhã. P.S. - Eu não quero inserir videos do Youtube, eu quero que cada pessoa escolha o video do seu computador e insira na BD Aguardo Resposta Urgente 😞
Knitter Posted September 15, 2013 at 03:21 PM Report #524632 Posted September 15, 2013 at 03:21 PM Se souberes fazer upload de imagens, fazer upload de vídeos é igual. Recebes o ficheiro que o utilizador enviou, copias esse ficheiro para a pasta que vai conter os vídeos todos, guardas o nome do ficheiro na base de dados.
AnaLuisaP Posted September 15, 2013 at 03:59 PM Author Report #524633 Posted September 15, 2013 at 03:59 PM (edited) eu já meti o mesmo código das imagens, e mesmo assim não resultou Este é o processa_envio_video.php <div id="conteudo"> <h2>Processamento do Vídeo</h2> <?php //iniciar sessao session_start(); //ligar à base de dados include('ligacao_bd.php'); //INICIAR TRANSAÇÃO //mysql_query("BEGIN WORK"); //ETAPA 1 - DETERMINAR VALOR DE ID_FOTO E CALCULAR NOVO VALOR DE IDENTIFICAÇÃO $sql_video = "SELECT MAX(valor_id_video) FROM esgts_contar_videos"; $consulta = mysql_query($sql_foto); $mostrar = mysql_fetch_array($consulta); $id_video = $mostrar[0] +1 ; //ETAPA 2 - CAPTURAR IDENTIFICAÇÃO DA CATEGORIA SELECCIONADA $id_cat = $_REQUEST['id_cat']; //ETAPA 3 - DETERMINAR O TAMANHO E O TIPO DE FICHEIRO $vid_tamanho = round($_FILES['video']['size']/51200000); $vid_tipo = $_FILES['video']['type']; //ETAPA 4 e 5 - DETERMINAR O NOME e DESTINO FINAL $vid_nome = $id_video."_".$_FILES['video']['name']; $local_final = $pasta_imagens_videos."/pasta_imagens_videos".$vid_nome; //ETAPA 6 - Se o tamanho e o tipo de ficheiro estiverem CORRECTOS, faz o upload if($vid_tamanho<=50000 && ($vid_tipo=="video/WMV" or $vid_tipo=="video/AVI") ) { //copiar ficheiro para o destino final (move_uploaded_file($_FILES['video']['name'],$local_final)); $sql_envia = "INSERT INTO esgts_videos(id_video, id_categoria, id_utilizador, nome_video) VALUES($id_video,$id_cat,".$_SESSION['id_utilizador'].",'$vid_nome')"; //atualizar o valor do contador if($id_vid==1) { $sql_adiciona_id = "INSERT INTO esgts_contar_videos(valor_id_video) VALUES($id_video)"; } else { $sql_adiciona_id = "UPDATE esgts_contar_videos SET valor_id_video = $id_video"; } $consulta1 = mysql_query($sql_envia); $consulta2 = mysql_query($sql_adiciona_id); //ETAPA 7 - CONFIRMAR UPLOAD DO FICHEIRO echo "O ficheiro $vid_nome foi enviado com sucesso!"; //TERMINAR TRANSAÇÃO //mysql_query("COMMIT"); } else { //DESFAZER TODAS AS OPERAÇÕES DAS CONSULTAS À BASE DE DADOS //mysql_query("ROLLBACK"); echo "<p>Não foi possivel enviar o ficheiro devido a um erro!</p>"; if($vid_tamanho>350) { echo "<p>O ficheiro submetido é superior ao permitido! : $vid_tamanho kb</p>"; } else { echo "<p>O ficheiro submetido não é do tipo jpeg! : $vid_tipo </p>" ; } echo "<p>O ficheiro submetido não pode ultrapassar os 350kb e tem de ser do tipo jpeg! </p>"; } ?> </div> e este o adicionar_video.php <h2>Submeter Vídeo</h2> <form action="processa_envio_video.php" method="POST" enctype="multipart/form-data"> <p>Seleccione a categoria e o vídeo:</p> <?php include('ligacao_bd.php'); //procurar e apresentar as categorias $sql = "SELECT * FROM esgts_departamento ORDER BY nome_categoria ASC"; $consulta = mysql_query($sql); //criar a listbox echo "<select name='id_cat'>"; while($mostrar = mysql_fetch_assoc($consulta)) { echo "<option value=".$mostrar['id_categoria'].">".$mostrar['nome_categoria']."</option>"; } ?> <p> <input name="imagem" size="40" type="file"/> </p> <p> <input type="submit" name="enviar" id="enviar" value="Enviar vídeo"/> </p> <p> <input type="reset" name="apagar" id="apagar" value="Apagar"/> </p> </form> Edited September 19, 2013 at 07:38 PM by brunoais tags code + geshi
Knitter Posted September 15, 2013 at 04:06 PM Report #524634 Posted September 15, 2013 at 04:06 PM (edited) O que é que não deu? Que erro tiveste, onde é que está a falhar, enfim, debug tens de ser tu a fazer. De qualquer modo, parece-me que tens um erro logo nas primeiras linhas: $sql_video = "SELECT MAX(valor_id_video) FROM esgts_contar_videos"; $consulta = mysql_query($sql_foto); //<---- Devia ser $sql_video, ou não? De qualquer modo tens de ser tu a fazer debug do código e ver onde está a falhar, upload de um vídeo é como qualquer outro upload. Tem também atenção ao tamanho máximo do ficheiro que estás a usar para testar já que é fácil passar o limite standard de 2MB. Edited September 15, 2013 at 04:06 PM by Knitter
AnaLuisaP Posted September 15, 2013 at 04:19 PM Author Report #524635 Posted September 15, 2013 at 04:19 PM O erro é que aquilo não chega a adicionar à base de dados, é que eu só dei mesmo como fazer o upload de imagens e não sei mesmo o que fazer 😕 e isso do tamanho não sei como funciona, o que tenho de pôr para vídeos, aquilo fui eu que experimentei para testar 😕
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now