Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) problema com variavel $_FILES


fabiosanches

Pergunta

ae galera.. seguinte.. tenho um arquivo arquivo1.php, nele eu tenho um campo tipo file.. ate ai beleza, pego o valor desse campo e jogo para um arquivo2.php q é onde vai fazer o envio de um e-mail com esse arquivo em anexo e copiar ele para uma pasta.. ate ai tbn tranqüilo.. so q tipo.. eu consigo copiar esse arquivo la pra dentro da pasta fileh.. mais quando eu tento mandar um e-mail ele sempre da erro.. porque.. so aparece o arquivo temporario.. eu não estou conseguindo trazer o valor completo do campo texto.. ou seja.. c:\arquivo.jpg por exemplo... e eu preciso desse caminho completo.. como q eu faço isso.. to meio perdido aki...

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Bom dia!

Seguinte; para debugar utilize a função print_r() ou seja:

print_r($_FILES);

Com esta função tu consegues visualizar todo o conteúdo do array. Quand é feito um upload o arquivo é enviado para a pasta temporária do sistema. Tu podes dar uma olhada também na função move_uploaded_file().

http://br.php.net/manual/en/function.move-uploaded-file.php

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

tipo.. ate ai beleza.. Array ( [foto] => Array ( [name] => erro.gif [type] => image/gif [tmp_name] => C:\WINDOWS\php60.tmp => 25119 ) )

esse foi o resultado.. mais o q eu precisava q ele trouxesse era o conteudo do campo dessa forma.

C:\Documents and Settings\fabio\Desktop\erro.gif

e não to conseguindo :(

Link para o comentário
Compartilhar em outros sites

  • 0

Deus! Desculpe-me mas tu leste o manual do move_uploaded_file() ?

Abra novamente o manual que enviei no post anterior e leia "Example #1 Uploading multiple files" !

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

sim.. eu li.. porém o meu problema não é no envio do arquivo.. porque para isso eu tenho uma classe de upload já desenvolvida q faz isso.. para o envio essa classe esta pegando o conteudo dessa variavel temporaria do sistema e ta salvando na pasta conforme eu precisava.. o problema é apenas na hora de trazer o valor em forma de texto com o conteudo da variavel.. esse sim é o meu problema.

e no exemplo 1

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

ele esta setando o nome do arquivo pegando o tmp_name e o nome dele.. e jogando pra uma determinada pasta.. e isso eu já faço. preciso pegar o array gerado pelo $_FILES e jogar ele como valor texto conforme primeiro tópico.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom tu precisas é do caminho completo a partir da raiz do sistema operacional?

http://br2.php.net/manual/en/function.realpath.php

Espero que ajude...

Link para o comentário
Compartilhar em outros sites

  • 0

cara.. infelizmente não.. porque tipo.. eu vou pegar o caminho completo de q?? se eu pegar a variavel temp q ele gera.. ele me mostra o caminho c:\windows\temp.php mais se eu não colocar isso.. pedir o caminho do array.. ele me mostra o caminho da pasta dentro do servidor onde ta armazenado o arquivo.php e não o caminho da foto dentro da minha maquina...

Link para o comentário
Compartilhar em outros sites

  • 0

Olha, acho que estamos com um problema de comunicação. Acho que vou pedir ajuda aos universitários! =P

Seguinte, tu primeiramente tem que enviar seu arquivo ao servidor, correto? Logo após o envio, ele fica habilitado pelo array $_FILES que informa onde ele se encontra. Ele é gravado na pasta temporária do sistema operacional do servidor. Basta tu mover ele para dentro do teu site, dentro da pasta que você quer e se quiser alterar o nome do arquivo para aquele original, informado no próprio array $_FILES.

Argora tu queres o caminho da foto na máquina do cliente? Como assim? PHP é server-side, tudo tem que estar no servidor. Se tu queres o caminho da foto no sistema operacional do teu cliente, tu vais ter que fazer algo em javascript, que reconheça esse caminho e que envie para o PHP este caminho.

Qualquer coisa, poste novamente pois, acho que estou tendo um conflito na comunicação...

Abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...