Jump to content
Artur Mendonça

Erro ao fazer upload de vídeo

Recommended Posts

Olá amigos.
Estou a tentar fazer um sistema para upload de vídeos para criar uma base de dados.
Já fiz um sistema para imagens e funciona na perfeição. Adaptei este código para upload de vídeo e recebo as mensagens de erro:

Citar

Notice: Undefined index: arquivo in (...)\proc_cad_albumvideo2.php on line 14
Notice: Undefined index: arquivo in (...)\proc_cad_albumvideo2.php on line 21
Notice: Undefined index: arquivo in (...)\proc_cad_albumvideo2.php on line 27

Os (...) foi que coloquei para encurtar o caminho.

 

Código da página para seleção e upload do vídeo:

<?php
session_start();
include_once "../conexao.php";
$agid = $_REQUEST['id'];
$sql = "select * from tbl_album where albumid='$agid'";
$rs_result = mysqli_query($conectar, $sql);
?>


<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Página Administrativa">
    <meta name="author" content="">
    <link rel="icon" href="imagens/imgadmin.ico">

    <title>Administrativo</title>
    <link rel="stylesheet" href="../css/bootstrap.min.css">
  <link rel="stylesheet" href="../css/style.css">

  </head>

<?php $agid = $_REQUEST['id'];

$sql = "SELECT * FROM tbl_albumvideo WHERE albumid='$agid'";
$rs_result = mysqli_query($conectar, $sql);

while ($row = mysqli_fetch_assoc($rs_result)) {
    $aname = $row["name"];
}
;?>


<body>
<?php
include_once "admmenu.php";
?>

<div class="container theme-showcase" role="main" Style='margin-top: 100px'>
   <h1 class="page-header"><br />Adicionar vídeo</h1>



            <div class="row">
                <div class="col-md-12">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                            Por favor selecione o vídeo

                        </div>
                        <div class="panel-body">
                            <div class="row">
                                <div class="col-lg-6">
 <form action="processa/proc_cad_albumvideo2.php?id=<?php echo $agid ?>" method="POST" enctype="multipart/form-data" name="upload">


<div class="form-group">
<input type="file" name="arquivo" id="arquivo" value="arquivo"/>
</div>

<div class="form-group">
<input name="enviar" class="btn btn-primary" type="submit" id="enviar" value="Enviar">
</div>
<div class="alert alert-danger" role="alert" style='margin-top:20px'>
  Esta operação poderá ser demorada, dependendo do tamanho do ficheiro a enviar e das suas condições de ligação à rede.
  <br/>
  <br/>
  Por favor seja paciente e não reinicie a página!
</div>




</form>
</div>
    </div>
    </div>
                  </div>
              </div>
  </div>
  </div>

      <script src="../js/jquery-3.2.1.slim.min.js"></script>
      <script src="../js/popper.min.js"></script>
      <script src="../js/bootstrap.min.js"></script>


</body>

</html>

E este é o código para efetuar o upload e gravação na BD

<?php

ini_set('display_errors', 1);
ini_set('display_startup_erros', 1);
error_reporting(E_ALL);
session_start();
include_once "../../conexao.php";


$adate = date('Y-m-d H:i:s');
$status = 'process';
$arquivo = $_FILES['arquivo'];
$albumid = $_REQUEST['id'];
$pasta = '../../videos/';
$resulta = mysqli_query($conectar, "SELECT * FROM tbl_albumvideo WHERE albumid='$albumid'");
$linhas = mysqli_fetch_assoc($resulta);

$local = $linhas["local"];
$arqnome = $_FILES['arquivo']['name'];
$ano = $linhas['ano'];

$extensao = @end(explode('.', $arqnome));
$novonome = time() . "-" . rand() . "." . $extensao;

$tmp = $_FILES['arquivo']['tmp_name'];
$file = $pasta . $novonome;


if (move_uploaded_file($tmp, $file)) {
    $query = mysqli_query($conectar, "INSERT INTO videos
	(video_name, local, ano,aid)
	VALUES
	('$novonome','$local', '$ano', '$albumid')") or die(mysqli_error($conectar));

    if ($query) {
        echo "<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://(...)/addgalleryvideo.php'>
	<script type=\"text/javascript\">
	   alert(\" O vídeo foi guardado com sucesso.\");
   </script>";} else {echo "
<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://(...)/addgalleryvideo.php'>
					<script type=\"text/javascript\">
					   alert(\" O Vídeo não foi guardado.\");
				   </script>
";

    } 
}

Linha 14 : $arquivo = $_FILES['arquivo']; 

Linha 21: $arqnome = $_FILES['arquivo']['name'];

Linha 27: $tmp = $_FILES['arquivo']['tmp_name'];

 

Desde já muito obrigado.

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 Sapinn
      Opa galera, tudo blz? Recentemente comecei a estudar reactjs e para praticar estou fazendo o clone da Netiflix. Mas estou com um erro ao tentar chamar as imagens da API do TMDB o erro é: 
      TypeError: Cannot read properties of undefined (reading 'results')
       
      Já tentei refazer o código varias vezes mas não consegui resolver o problema. Vou postar o resto do código aqui
       
      App.js:
      import React, {useEffect, useState} from 'react'; import Tmdb from './Tmdb'; import MovieRow from './components/MovieRow'; const App = () =>{   const [movieList, setMovieList] = useState([]);   useEffect(()=>{     const loaddAll = async () =>{       let list = await Tmdb.getHomeList();       setMovieList(list)     }     loaddAll();   }, []);   return(       <div className="page">           <section className="lists">               {movieList.map((item, key)=>(                     <MovieRow key={key} title={item.title} items={item.items}/>               ))}                         </section>       </div>   ); } export default App; Consumir a api:
      Tmdb.js:
      const API_KEY = '******************************'; const API_BASE = 'https://api.themoviedb.org/3'; const basicFetch = async (endpoint) =>{     const req = await fetch(`${API_BASE}${endpoint}`)     const json = await req.json();     return json; } export default {     getHomeList: async () =>{         return [             {                 slug: 'originals',                 title: 'Originais da Netflix',                 items: await basicFetch(`/discover/tv?with_networks=213&language=pt-BR&api_key=${API_KEY}`)             },             {                 slug: 'trending',                 title: 'Recomendados para você',                 item: await basicFetch(`/trending/all/week?language=pt-BR&api_key=${API_KEY}`)             },             {                 slug: 'toprated',                 title: 'Em alta',                 item: await basicFetch(`/movie/top_rated?language=pt-BR&api_key=${API_KEY}`)             },             {                 slug: 'action',                 title: 'Ação',                 item: await basicFetch(`/discover/movie?width_genres=28&language-pt-BR&api_key=${API_KEY}`)             },             {                 slug: 'comedy',                 title: 'Comédia',                 item: await basicFetch(`/discover/movie?width_genres=35&language-pt-BR&api_key=${API_KEY}`)             },             {                 slug: 'horror',                 title: 'Terror',                 item: await basicFetch(`/discover/movie?width_genres=27&language-pt-BR&api_key=${API_KEY}`)             },             {                 slug: 'romance',                 title: 'Romance',                 item: await basicFetch(`/discover/movie?width_genres=10749&language-pt-BR&api_key=${API_KEY}`)             },             {                 slug: 'documentary',                 title: 'Documentários',                 item: await basicFetch(`/discover/movie?width_genres=99&language-pt-BR&api_key=${API_KEY}`)             },                     ]     } }  
       
      Componente para mostrar os filmes:
      MovieRow.js:
      import React from "react"; import './MovieRow.css'; export default ({title, items}) =>{         return (         <div>             <h2>{title}</h2>             <div className="moviewRow--listarea">                 {items.results.length > 0 && items.results.map((key, item)=>(                     <img src={`https://image.tmdb.org/t/p/w300${item.poster_path}`} />                 ))}             </div>         </div>     ); }  
      Se alguém pudesse me ajudar eu ficaria muito grato.
    • By Caio Vargas
      Fala pessoa tudo tranquilo ?
      estou com um problema eu fiz um sistema de upload onde tem a marca dagua  o problema e que quando o cadastro da capa e pequena a imagem da marca dagua fica grande
      e qauando a capa e grande  a imagem da marca dagua fica pequena alguem poderia me ajudar 
    • By mateus.andriollo
      Olá,
      Gostaria de saber se alguem pode me ajudar.
      Meu PHP esta na pasta public_html em um CPanel, quero saber se é possível armazenar em pasta fora da pasta  pública, por segurança mesmo...
      Faço isso em ASP, ai chamo a imagem por um fso, funciona mas queria saber se tem como no PHP.
    • By DeniseAlencar
      Boar tarde pessoal estou fazendo um teste com upload de imagens gravando no banco de dados porem quando cadastro uma imagem com o nome "foto.jpg" e depois cadastro a mesma imagem com o mesmo nome, no banco de dados aparece dois registros com nomes iguais mas gostaria que os nomes fossem diferentes.
       
      E na pasta arquivos aparece uma unica imagem gostaria que quando cadastrasse fotos iguais o nome mudasse tipo foto.jpg , foto2.jpg  etc (isso automaticamente) vou postar o codigo .
      <?php $diretorio = "arquivos/"; if(!is_dir($diretorio)){ echo "Pasta $diretorio não existe";}else{ $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; for ($controle = 0; $controle < count($arquivo['name']); $controle++){ $destino = $diretorio."/".$arquivo['name'][$controle]; $nome_foto = $arquivo['name'][$controle]; if(move_uploaded_file($arquivo['tmp_name'][$controle], $destino)){ $sql="INSERT INTO galeria (arquivo) VALUES ('$nome_foto')"; $qry = mysqli_query($conexao,$sql); echo "<head><meta HTTP-EQUIV='refresh' CONTENT='0;URL=index.php'></head>"; }else{ echo "Erro ao realizar upload"; } } } ?>  
    • By Sapinn
      Estou precisando salvar fotos dos usuários de um sistema e não estou conseguindo fazer com OO já assisti video aulas e li algumas matérias mas sempre dá erro. Alguém sabe algum jeito de se fazer?? Eu até tentei mas fica sempre com erro, vou postar aqui talvez tenha algo que eu esteja fazendo errado.
       
      class para salvar a foto:
         private function salvarFoto($foto){         $fotos = $_FILES['foto_admin'];         $fotoDir = "imagens/fotos_admins/";         $fotoPath = $fotoDir . basename($foto['foto_admin']['name']);         $fotoTmp = $foto['foto_admin']['tmp_name'];         if(move_uploaded_file($fotoTmp, $fotoPath)):             return $fotoPath;         else:             return false;         endif;     } E estou chamando ela assim:
       $upload = $this->salvarFoto($_FILES);                 if(gettype($upload) == 'string'):                     $dados['foto_admin'] = $upload;                 endif;  
      E o erro é o seguinte: move_uploaded_file(imagens/fotos_admins/sapinn.jpg): failed to open stream: No such file or directory in
       
      Não sei o que está errado a pasta imagens/fotos_admins está dentro da minha pasta Controller
×

Important Information

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