Ir para conteúdo

POWERED BY:

Arquivado

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

Anderson Oliver

Problemas com iframe

Recommended Posts

Olá Pessoas,

 

Tenho uma página (pai) que contém um iframe requisitando uma página que contém o campo input que recebe um arquivo (type="file"). Preciso recuperar o valor deste campo input do iframe para a página pai.

Agradeço muito quem puder ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso do valor do campo <input type="file" id="anexo">

Preciso pegar e puxar na página pai que contém este iframe.

 

 

Abaixo o código do iframe

 

<?php
// Flag que indica se há erro ou não
$erro = null;
// Quando enviado o formulário
if (isset($_FILES['anexo']))
{
   // Configurações
   $extensoes = array(".doc", ".txt", ".pdf", ".docx", ".jpg");
   $caminho = "../../lib/uploads/";
   // Recuperando informações do arquivo
   $nome    = $_FILES['anexo']['name'];
   $temp    = $_FILES['anexo']['tmp_name'];
   $tamanho = $_FILES['anexo']['size'];
   // Verifica se a extensão é permitida
   if (!in_array(strtolower(strrchr($nome, ".")), $extensoes)) {
	$erro = 'Extensão inválida';
      }
   if ($tamanho > 10485760)
      {
           $erro = 'Tamanho invalido!';
      }
   // Se não houver erro
   /*
      if (!$erro) {
       // Gerando um nome aleatório para a imagem
       //$nomeAleatorio = md5(uniqid(time())) . strrchr($nome, ".");
       // Movendo arquivo para servidor
       if (!move_uploaded_file($temp, $caminho . $nome))
           $erro = 'Não foi possível anexar o arquivo';
   }*/
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <title>Upload dinâmico com jQuery/PHP</title>

   <script type="text/javascript" src="js/jquery.js"></script>

   <script type="text/javascript">
   $(function($) {
       // Definindo página pai
       var pai = window.parent.document;

       <?php if (isset($erro)): // Se houver algum erro ?>

           // Exibimos o erro
           alert('<?php echo $erro ?>');

       <?php elseif (isset($nome)): // Se não houver erro e o arquivo foi enviado ?>

           // Adicionamos um item na lista (ul) que tem ID igual a "anexos"
           $('#anexos', pai).append('<li lang="<?php echo $nomeAleatorio ?>"><?php echo $nome ?> <img src="../../lib/imagens/remove.png" alt="Remover" class="remover" onclick="removeAnexo(this)" \/> </li>');

       <?php endif ?>

       // Quando enviado o arquivo
   	$("#anexo").change(function() {	    
           // Se o arquivo foi selecionado
           if (this.value != "")
           {    
               // Armazenando quantidade de elementos LI 
           var q = $('#anexos li', pai).length;

           // Se a quantidade for maior ou igual a 1
               if (q >= 1)
                   alert('Limite atingido');
               else
               {
                   // Exibimos o loder
                   $("#status").show();
                   // Enviamos o formulário
                   $("#upload").submit();
               }
           }
       });
   });
   </script>
</head>

<body>

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

   <span id="status" style="display: none;"><img src="image/loader.gif" alt="Enviando..." /></span>
   <input type="file" name="anexo" id="anexo" />

</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou fazer uma simulação prática para ver se você entende:

 

<input type="file" id="arquivo"><button id="check">Escolha um arquivo e depois clique aqui.</button>

 

document.getElementById('check').onclick = function () {
   alert(document.getElementById('arquivo').value);
}

 

Repetindo: Não é possível pegar o valor verdadeiro de um input[file]. Vem sempre um valor simulado que pode, inclusive, variar de navegador para navegador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi, você não quer fazer um upĺoad, você quer salvar no banco de dados o caminho do arquivo na máquina do usuário, é isso??

 

Repetindo, qual seria o propósito?

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.