Jump to content
AlexandrePrezzi

Upload de Videos (PHP , AJAX)

Recommended Posts

Estou fazendo um formulário onde tenho que enviar um upload de videos .... fiz o mesmo procedimento para imagens e funciona perfeitamente... porem para vídeo nao...

 

Código do  Formulário

 

<form id="Form_AddVideos" class="form-group" method="POST" action="javascript:func()" enctype="multipart/form-data">
                    <input type="hidden" id="ACAO_VIDEO" name="ACAO_VIDEO" value="INSERT_NEW_VIDEOS" />
                    <input type="hidden" id="ipv100_video" name="ipv100_video" value="<?php echo $_GET['id_pv100']; ?>" />
                    <input type="hidden" id="tipo_video" name="tipo_video" value="V" />
                    <div class="container">
                        <div class="row">
                            <div class="col-lg-6  col-md-6 col-sm-12 col-xs-12">
                                <div class="form-group">
                                    <label for="add_videos">Adicionar Fotos</label><br />
                                    <input class="form-control form-control-sm" type="file" name="video[]" multiple="multiple" id="video" accept="video/*" /> 
                                </div>
                            </div>
                        </div>                        
                        <button type="submit" id="btn_Gravar_video" title="Gravar" name="wGravar_video" class="btn btn-primary tp" 
                                value="TELA">
                                <i class="fa fa-save"></i> Gravar
                        </button> 
                                        
                        <button type="button" class="btn btn-danger tp btn_fechar_modal_cliente" title="Cancelar" data-dismiss="modal" style="margin-left: 5px;">
                            <i class="fa fa-times"></i> Cancelar
                        </button>
                    </div>    
                    </form>

 

Script Ajax para enviar os dados

 

<script type="text/javascript">
                        $(document).ready(function (e) {
                            $("#Form_AddVideos").on('submit',(function(e) {
                             e.preventDefault();
                             $.ajax({
                              enctype: 'multipart/form-data',   
                              url: "src/controller/request_videos.php",
                              type: "POST",
                              data:   new FormData(this),
                              contentType: false,
                                    cache: false,
                              processData:false,
                              beforeSend : function()
                              {
                               //$("#preview").fadeOut();
                                $('#resultErroVid').html("<img src='img/aguarde.gif' />");
                              },
                              success: function(g) {
                                var objVid = JSON.parse(g);
                                if (objVid.rst){                                                            
                                    if ($('#ACAO_VIDEO').val() === 'INSERT_NEW_VIDEOS'){
                                        document.getElementById('wOKDivVid').style.visibility = "visible";
                                        document.getElementById('wOKDivVid').style.display = "block";
                                        $('#resultOKVid').html(objVid.msg);
                                        
                                        
                                        setTimeout(function(){
                                        document.getElementById('wOKDivVid').style.visibility = "hidden";
                                        document.getElementById('wOKDivVid').style.display = "none";    
                                        $(".modal_proprio_videos").hide();
                                        document.location.reload(true); 
                                        }, 1200);      
                                        
                                    } else {
                                        document.getElementById('wErrorDivVid').style.visibility = "visible";
                                        document.getElementById('wErrorDivVid').style.display = "block";
                                        $('#resultErroCli').html(objVid.msg);
                                        
                                        setTimeout(function(){
                                        document.getElementById('wErrorDivCli').style.visibility = "hidden";
                                        document.getElementById('wErrorDivCli').style.display = "none";    
                                        $(".modal_proprio_imagens").hide();
                                         document.location.reload(true); 
                                        }, 1200); 
                                                               
                                    }
                                                            
                                } else {
                                    //fEnableBtn(Form_Cli_GQPS);
                                    document.getElementById('wErrorDivVid').style.visibility = "visible";
                                    document.getElementById('wErrorDivVid').style.display = "block";
                                    $('#resultErroVid').html(objVid.msg);
                                    setTimeout(function(){
                                        document.getElementById('wErrorDivVid').style.visibility = "hidden";
                                        document.getElementById('wErrorDivVid').style.display = "none";
                                        $(".modal_proprio_imagens").hide();
                                         document.location.reload(true);
                                        }, 2000); 
                                       
                                }//fim do if/else objCli

                                }
                               });
                            }));
                           });  
                    </script>

Arquivo php request .....(pedaço)

 

if (@$_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){
        
        
        require_once '../model/setaqueryGQPS.php';
        require_once '../model/conecta.php';
        
        //require_once '../model/zConst_GQPS.php';
        //require_once '../../../zLib.php';

        $wEMP = '001';
                
        $wPV100 = $_POST['ipv100_video'];
        $video = $_FILES['video'];
        

        if ($_POST['ACAO_VIDEO'] == 'INSERT_NEW_VIDEOS'){
                
            //require_once '../model/zConst_GQPS.php';
           
         
            
            if($video != ''){

O que acontece que no $_FILES,  o arquivo não esta sendo salvo na pasta  temporaria..... está vindo vazia essa informação, conforme mostro na imagem ....

 

Alguem sabe me dizer onde ta o problema ? 

 

Tenho um procedimento bem semelhante para imagens e funciona perfeitamente.

 

 

 

upload_video.png

Share this post


Link to post
Share on other sites

Francamente eu acho inviável upar vídeo pelo largo consumo de espaço em disco sendo favorável usar mídias como o youtub por exemplo.

Mas se for o caso, tem esse script meu, serve para fazer upload ou download de "qualquer coisa":

https://github.com/Spell-Master/sm-web/tree/master/javascript/FileTransfer

 

Lembre-se de verificar se o arquivo é mesmo um vídeo e que o servidor sempre possui um limite na transferência de arquivo, antes de acionar a função de envio.

Como proceder para essas questões é só seguir o mesmo conceito desse exemplo:

https://github.com/Spell-Master/sm-web/blob/master/exemplos/corte-e-salvamento-de-imagens/form-send.php#L15

 

Testa aí para ver se lhe serve...

Share this post


Link to post
Share on other sites

Ola tudo bom ? 

Pois é eu concordo contigo ... mas enfim ...

 

Na verdade eu consegui fazer .. a parte de código estava ok .... eu tive q alterar as configurações no PHP.ini mesmo , ai funcionou....

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Kelven
      Bom dia pessoal tudo bem?
      Então, estou trabalhando em um site em php e preciso usar a api do facebook para obter o feed do instagram, porém a chave token é um conteúdo muito sensível, então decidi fazer em php para ela não ficar disponível do lado do cliente. Alguém sabe me dizer se é possível fazer isso? Porque eu pesquisando no google só achei maneiras de fazer em javascript.
    • By gersonab
      Boa noite, tenho pesquisado porém não encontrei, então vamos lá.
      tenho uma lista de itens ( documentos ) cadastrados no banco de dados e os seus respectivos arquivos em uma pasta, se eu preciso de um deles clico e faço o download deste, no entanto como fazer para fazer o download de vários ao selecionar com checkbox os que eu quero ?
      desculpem por não postar nenhum código, mas é que não estou sabendo como fazer os downloads de vários.
      Qual o procedimento correto ?
       
    • By Willian Simione
      Estou com duas tabelas onde  uma eu somo o km de cada carro, e outra que eu somo a quantidade de litragem abastcido, porem tem carro que não abastece na garagem e na hora d eeu mostrar  a media por carro abastecido ele acaba entrando no somatório e é onde da o erro Warning: Division by zero in, como faço pra fazer essa soma e excluir os carro que não estao com o abastecimento.Abaido deixo as tabelas
       
      Esse soma o KM , todos os carro tem KM
       $soma4 = $conectar->query("SELECT SUM(tkm) AS total FROM cad_km where carro='$carro'");
         $count4 = $soma4->fetchColumn();
      Esse soma a Litragem, porem o tem carro que não abastece, 
         $soma3 = $conectar->query("SELECT round(SUM(litros),0) AS total FROM cad_abastec where dtabastec BETWEEN '$data1' AND '$data2' and carro='$carro'");
         $count3 = $soma3->fetchColumn();
       

       
    • By Mauricio Molina
      Bom dia.
       
      Estou precisando de um freelancer em PHP.
       
      Resolver um problema em um script de portal de noticias, onde a imagem não esta sendo upada, fica apenas em "em processamento".
       
      Contato: contato@weblina.com.br
       
      Obrigado!

    • By gersonab
      Boa tarde, preciso fazer uma busca por um ou mais itens, consigo fazer a busca pelo mês e ano, porém se eu quiser colocar tb a pessoa e mais uma condição não esta dando certo.
      <?php $mes=(int)$_POST['mes']; $ano=(int)$_POST['ano']; $idp=(int)$_POST['idp']; $pagoparc=$_POST['pagoparc']; $consulta1 = $pdo->query("SELECT parcelas.idpar, parcelas.procid, parcelas.procli, parcelas.proadv, parcelas.valorp,parcelas.valorpe, parcelas.valoradv, parcelas.valorpago, parcelas.datapar, parcelas.datapago, parcelas.pagoparc, parcelas.obspar, cli.idc, cli.nomec, proc.idpr, proc.proces, prof.idp, prof.nomep FROM parcelas LEFT JOIN cli ON cli.idc = parcelas.procli LEFT JOIN proc ON proc.idpr = parcelas.procid LEFT JOIN prof ON prof.idp = parcelas.proadv WHERE Month(parcelas.datapar) = $mes AND YEAR(parcelas.datapar) = $ano AND parcelas.proadv LIKE '%$idp%' AND parcelas.pagoparc LIKE '%$pagoparc%' ORDER BY parcelas.idpar ASC"); while ($user1 = $consulta1->fetch(PDO::FETCH_ASSOC)) { ?> desta forma retorna todos os resultados independente do mês  e ano
       
      <?php $mes=(int)$_POST['mes']; $ano=(int)$_POST['ano']; $idp=(int)$_POST['idp']; $pagoparc=$_POST['pagoparc']; $consulta1 = $pdo->query("SELECT parcelas.idpar, parcelas.procid, parcelas.procli, parcelas.proadv, parcelas.valorp,parcelas.valorpe, parcelas.valoradv, parcelas.valorpago, parcelas.datapar, parcelas.datapago, parcelas.pagoparc, parcelas.obspar, cli.idc, cli.nomec, proc.idpr, proc.proces, prof.idp, prof.nomep FROM parcelas LEFT JOIN cli ON cli.idc = parcelas.procli LEFT JOIN proc ON proc.idpr = parcelas.procid LEFT JOIN prof ON prof.idp = parcelas.proadv WHERE Month(parcelas.datapar) = $mes AND YEAR(parcelas.datapar) = $ano AND parcelas.proadv = $idp AND parcelas.pagoparc = $pagoparc ORDER BY parcelas.idpar ASC"); while ($user1 = $consulta1->fetch(PDO::FETCH_ASSOC)) { ?> já desta forma me retorna este erro :
      Fatal error: Call to a member function fetch() on a non-object in
       
      lembro que nesta busca posso ter ou não o idp e ou pagoparc
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.