Ir para conteúdo

POWERED BY:

Arquivado

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

fael_christofano

[Resolvido] Copiar o caminho completo do arquivo em um FileField

Recommended Posts

Bom dia Galera!!

 

Estou fazendo um site para upload, já ví vários conteúdos na net sobre como fazer isso, porem preciso q após o upload, seja gravado no BD alguns dados do upload, como o nome do usuário q fez o upload e o caminho local da maquina que foi feito o upload!!

Sei q alguns vão me perguntar "Qual a nessecidade de se gravar no BD, o caminho do arquivo na maquina local?? ", isso eu deixo pra explicar depois, esses sistema de upload vai funcionar numa intranet, e preciso dess ainformação!

 

Estou usando um form HTML:

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

<label for="file">Arquivo HTML para enviar ao e-mail</label>

<input name="vis_arq" type="file" id="vis_arq" lang="pt" />

<p>

<label for="Submit"></label>

<input type="submit" name="Submit" value="Visualizar" id="Submit" />

</p>

</form>

 

E no upload.php uso o $_FILES, para capturar as informações do arquivo selecionado pelo FileField, porem o $_FILES, ate onde eu sei, não traz o caminho completo do arquivo, e sim só o nome!

Por exemplo:

$_FILES['vis_arq']['name'];//nome do arquivo

$_FILES['vis_arq']['size'];/tamanho do arquivo

$_FILES['vis_arq']['error'];//erro no upload

$_FILES['vis_arq']['tmp_name'];//nome do arquivo tempórário para enviar ao servidor

 

Como eu faço para pegar o valor do FileField(caminho completo do aquivo) em uma variável do php, para depois eu fazer um INSERT no BD. Acho q não poderá ser o $_FILES, então como fazer?

 

Desde já agradeço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro amigo.

 

O $_FILES não contem o caminho completo do arquivo na maquina, porque ele não ta salvo na maquina ainda.

Quer dizer, ele está sim, mas numa pasta temporaria do PHP.

 

Primeiro tu tem que salvar este arquivo na maquina para depois pegar o endereço dele.

 

Use a função move_uploaded_files().

 

Basta pesquisar na documentação do PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro amigo.

 

O $_FILES não contem o caminho completo do arquivo na maquina, porque ele não ta salvo na maquina ainda.

Quer dizer, ele está sim, mas numa pasta temporaria do PHP.

Valeu André!!

 

Mas acho que você não entendeu!! O arquivo está sim salvo na maquina!! E um arquivo que o usuário que acessa a página, vai querer fazer o upload.

Por Exemplo, antes de fazer o upload o arquivo está na gravado em:

"C:\Documents and Settings\Micro121\Desktop\foto.jpg"

 

Ao fazer $_FILES['vis_arq']['name'];

 

Somente é capturado o nome do arquivo: "foto.jpg"

Gostaria de capturar o caminho "C:\Documents and Settings\Micro121\Desktop\"

 

Pegar esse texto do caminho e salvar em meu BD em um cmapo texto, seria + ou - um log de upload´s

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera! Vou tentar ser mais breve na minha pergunta!!

 

O que preciso é que, ao fazer o upload no arquivo que foi selecionado pelo campo file, Ex: "<input name="vis_arq" type="file" id="vis_arq" lang="pt" xml:lang="pt" />"

Supondo que o arquivo esteja no caminho C:\Documents and Settings\micro171\Desktop\teste.html

 

Gostaria de pegar esse valor e jogar numa variável php

 

Já tentei:

 

$arquivo =$_POST[vis_arq]

 

Já usei SCRIPT

 

$arquivo = print "<script>document.form1.vis_arq.value</script>";

$arquivo = "<script>document.form1.vis_arq.value</script>";

 

Alguém entendeu?? Alguém é capaz de me ajudar?

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.