Ir para conteúdo

POWERED BY:

Arquivado

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

dougeek

Exibir o nome do arquivo upado no campo file

Recommended Posts

Olá pessoal,

Estou com uma dúvida, gostaria de saber como faço para exibir o nome de um arquivo upado dentro do campo file ao clicar em editar o formulário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Editar implica que a informação já esteja salva em algum lugar.

 

Você quer editar o que? Que está salvo onde? Como você pega esses dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Editar implica que a informação já esteja salva em algum lugar.

 

Você quer editar o que? Que está salvo onde? Como você pega esses dados?

Eu fiz o upload de um arquivo, enviei o arquivo pro servidor. (até ai tudo bem)

 

Agora quando eu for editar o formulário eu quero que apareça o nome do arquivo que já foi enviado dentro do campo file pra pessoa ver que já foi enviado um arquivo. entendeu ?

 

Não estou conseguindo recuperar o nome desse arquivo e exibir dentro do campo file

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os outros dados você está "conseguindo recuperar" normal??

Sim, o formulário só tem campos text, textarea e file, os campos input text, textarea eu consigo recuperar

Compartilhar este post


Link para o post
Compartilhar em outros sites

E como você faz pra recuperar os campos input text e textarea???

 

Para pegar o valor do input text eu faço assim:

<label for="nome">nome</label>
<input type="text" name="nome" value="<?php echo $nome ?>" />

e o valor do input textarea eu faço assim:

<label for="texto">Texto</label>
<textarea name="texto" /><?php echo $texto ?></textarea>

 

achei esse tópico aqui no forum:

http://forum.imasters.com.br/topic/218553-preencher-value-do-campo-input-typefile/

 

e vi que o campo input file não tem a propriedade value.

 

 

Existe outra forma para exibir o nome do arquivo atual dentro do campo file ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não vai conseguir inserir valor dentro do campo file, até porque é inviável. O que vai conseguir é apenas exibir o nome que já foi salvo em sua base de dados, nada mais. O que você pode fazer é disponibilizar uma view da imagem em miniatura, e o campo file ao lado para alteração... Quando eu preciso por exemplo, eu faço a miniatura com o link "alterar" imagem ou "excluir"...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba! Só depois dessa viagem toda fui entender que campo, que você se referia no primeiro post era o elemento [inline]<file>[/inline]. Pra mim era o campo (coluna) da tabela do BD.

 

Bom, como o @Alaerte Gabriel mencionou, não é razoável escrever o nome do arquivo. Até porque você não conhece a estrutura de diretórios do cara, o arquivo pode ter sido apagado, enfim um monte de outras coisas.

 

Você pode utilizar o atributo placeholder.

<input type="file" placeholder="<?php echo $arquivo; ?>">

Compartilhar este post


Link para o post
Compartilhar em outros sites

também estou com esse mesmo problema ... gostaria de exibir ao menos o caminho armazenado no banco no input ... para que a pessoa possa editar o arquivo ... há alguma solução alternativa ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

também estou com esse mesmo problema ... gostaria de exibir ao menos o caminho armazenado no banco no input ... para que a pessoa possa editar o arquivo ... há alguma solução alternativa ?

Agora perguntou direito.

 

Há, sim:

<label for="newFile">
    Arquivo:
    <input readonly="readonly" value="<?=$nome_do_arquivo?>">
    <input type="file" name="arquivo" id="newFile">
</label>
#newFile {
    display: none;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Agora perguntou direito.

 

Há, sim:

<label for="newFile">
    Arquivo:
    <input readonly="readonly" value="<?=$nome_do_arquivo?>">
    <input type="file" name="arquivo" id="newFile">
</label>
#newFile {
    display: none;
}

 

Olá Evandro Oliveira!

Desculpe a demora ... Estive de férias e voltei hoje ao trabalho rsrs

Obrigado pela resposta! Ajudou em parte...

 

Só tem um pequeno problema: quando eu seleciono um arquivo, não aparece o caminho selecionado no campo... estranho não ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Evandro Oliveira!

Desculpe a demora ... Estive de férias e voltei hoje ao trabalho rsrs

Obrigado pela resposta! Ajudou em parte...

 

Só tem um pequeno problema: quando eu seleciono um arquivo, não aparece o caminho selecionado no campo... estranho não ??

 

Tá desculpado. Mas não volte a fazer isso!!

 

Não é estranho não. O campo que exibe o nome do arquivo escolhido foi oculto propositalmente:

 

 

 

 

#newFile {
    display: none;
}

 

Por questões de segurança, não é possível exibir ou manipular o caminho real num campo file. Temos que fazer uma certa ginástica pra trabalhar isso. Uma alternativa foi a que eu propus.

 

Melhores resultados você conseguirá na sessão apropriada.

 

Mas gira em torno disso aqui, mais ou menos:

 

 

<label for="newFile">
Arquivo:
<input readonly="readonly" value="<?=$nome_do_arquivo?>">
<input type="file" name="arquivo" id="newFile">
</label>

 

 

label[for=newFile] { position: relative; }
 
label[for=newFile] input {
    left: 0;
    position: relative;
    top: 0;
}
 
#newFile {
    z-index: 1;
}
 
#newFile[value=""] {
    z-index: -1;
}

 

Funciona do IE7 pra cima.

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.