Jump to content


Photo

Problemas Com A Função Copy


  • Faça o login para participar
12 replies to this topic

#1 saludarlly

saludarlly

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado
  • Localidade:Maringá

Posted 21/07/2004, 09:50

:rolleyes: Olá pessoal! Tenho uma imput file com a id file_copy. Fiz o seguinte código para salvar uma imagem em uma pasta:

$destino = 'image/';
$copia = copy($file_copy, $destino.$file_copy_name);


E no imput do formulário eu coloquei o seguinte código:
enctype="multipart/form-data"

Acontece que não consigo pegar a path da imagem que vem na variável $file_copy , pois o código
enctype="multipart/form-data" não deixa.... E se eu tirar ele aí funciona, mas não não consigo saber o nome do arquivo com o acrescimo de "_name"

Fiquei enrolada com esse código: enctype="multipart/form-data"....

Preciso dele para saber o nome do arquivo usando a variável dessa forma: $file_copy_name , porém não consigo a path da variável com ele.

Edição feita por: saludarlly, 21/07/2004, 09:55.

Saludarlly

" Tudo o que vier em tuas mãos para fazer, faze-o conforme tuas forças, dê o seu melhor"

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 21/07/2004, 09:55

Tem name seu campo no formulário? Se tiver...

<?php

  // Recebe assim
  $arquivo = $_FILES["nome_dele_aqui"];

  // Olha o que temos
  echo "<pre>";
  print_r ($arquivo);

?>


Klaus Paiva
Conheça também: Taperás

#3 saludarlly

saludarlly

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado
  • Localidade:Maringá

Posted 21/07/2004, 10:00

Olá Klaus, agradeço sua ajuda, mas não entedi o esquema que está usando. Poderia por favor especificar melhor?

o acrescimo de "_name" na variável "$file_copy" é para me trazer apenas o nome do arquivo, e para me trazer a path completa eu uso apenas "$file_copy"
mas para me trazer o nome do arquivo preciso
desse código "enctype="multipart/form-data" na imput do formulário,
só q esse código não deixa trazer a path completa.

Edição feita por: saludarlly, 21/07/2004, 10:03.

Saludarlly

" Tudo o que vier em tuas mãos para fazer, faze-o conforme tuas forças, dê o seu melhor"

#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 21/07/2004, 10:03

<?php

  // Recebe assim
  $arquivo = $_FILES["nome_dele_aqui"];

  // Olha o que temos
  echo "Nome do Arquivo: " . $arquivo["name"];
  echo "PATH Completo: " . $arquivo["tmp_name"];

?>


Klaus Paiva
Conheça também: Taperás

#5 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 21/07/2004, 10:03

faz assim:
PHP
<?php

foreach ($_FILES as $Arquivo=>$Prop ) {
$y+=1;
$valor[$y] = $Prop['tmp_name'];
$nome[$y] =$Prop['name'];
echo
$valor[$y]."&nbsp;".$nome[$y]."<br>";
}

?>

Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#6 saludarlly

saludarlly

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado
  • Localidade:Maringá

Posted 21/07/2004, 10:10

Klaus veja como ficou:

Nome do Arquivo: 0141desenhos-messbrasil.jpg
PATH Completo: C:\PHP\uploadtemp\php7D.tmp // da onde ele tira essa path ?

essa path errada se eu tirar
enctype="multipart/form-data" do formulario ai sim me traz a path correta mais não traz o nome do arquivo..


e o codigo do Marcão tb. não funcionou

estou enrrolada..

Edição feita por: saludarlly, 21/07/2004, 10:15.

Saludarlly

" Tudo o que vier em tuas mãos para fazer, faze-o conforme tuas forças, dê o seu melhor"

#7 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 21/07/2004, 10:22

Quando você faz o upload, o arquivo tem que ir para algum lugar certo? (quem vai... vai para algum lugar :D)

Esse path "errado" é o path temporário que o PHP armazenou o arquivo enviado... Se você for mover ele para o destino final, é esse arquivo que você deverá mover... Pode usar ele sem problemas na função copy!
Klaus Paiva
Conheça também: Taperás

#8 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 21/07/2004, 10:33

PHP
<?
foreach ($_FILES as $Arquivo=>$Prop ) {
$y+=1;
$valor[$y] = $Prop['tmp_name'];
$nome[$y] =$Prop['name'];
$copia = copy($valor[$y],"imagem/".$nome[$y]);
}
?>

Edição feita por: Marcão, 21/07/2004, 10:34.

Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#9 saludarlly

saludarlly

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado
  • Localidade:Maringá

Posted 21/07/2004, 11:04

Klaus eu estou usando a função copy veja minha 1ª indagação no inicio do topico

$destino = 'image/';
$copia = copy($file_copy, $destino.$file_copy_name);

veja nesse codigo acima que eu estou usando a função copy para enviar a figura para a pasta image.



Veja bem o problema:

Eu preciso da path completa, e tb do nome do arquivo.
quando eu coloco na input do form o codigo enctype="multipart/form-data"

eu consigo o nome do arquivo com o codigo

$arquivo = $_FILES["file_copy"];
echo "Nome do Arquivo: " . $arquivo["name"];

porem não consigo a path do aquivo com o codigo

echo "PATH Completo: " . $arquivo["tmp_name"];

a questão é

se eu tirar da input do form esse codigo enctype="multipart/form-data"
ai sim eu consigo a path completa e não essa path temporaria que é errada
C:\PHP\uploadtemp\php7D.tmp //
porem se eu tirar a enctype da input do form eu não consigo recuperar o nome do arquivo.

E o interessante que tanto o seu codigo como o do Marcão não funcionam pois eles me trazem a path temporaria
C:\PHP\uploadtemp\php7D.tmp // errado

D:\imagens de fundo\figura027.jpg // preciso dessa path
que só consigo ela tirando esse codigo da input do form
enctype="multipart/form-data"

Edição feita por: saludarlly, 21/07/2004, 11:07.

Saludarlly

" Tudo o que vier em tuas mãos para fazer, faze-o conforme tuas forças, dê o seu melhor"

#10 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 21/07/2004, 11:12

Entenda uma coisa, aquele PATH errado, que você chama é o certo... O que você acha que é o certo, na verdade é o errado... ;)

Faça o que lhe falei, com a função copy()...

$destino = 'image/';
$copia = copy($arquivo["tmp_name"], $destino.$file_copy["name"]);


Klaus Paiva
Conheça também: Taperás

#11 saludarlly

saludarlly

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado
  • Localidade:Maringá

Posted 21/07/2004, 11:25

Oi Klaus, desculpe-me pela insistência, mas é que se eu salvar aquela path temporária no Mysql, eu não consigo vizualizar depois a minha figura.

veja bem:

tenho um campo da tabela por nome "fotos"

e eu preciso colocar nesse campo a path correta que é
D:\imagens de fundo\figura027.jpg // path certa.

pois eu fiz o teste aqui e se eu colocar essa path temporaria eu não consigo visualizar depois a figura
C:\PHP\uploadtemp\php7D.tmp // path errada
Saludarlly

" Tudo o que vier em tuas mãos para fazer, faze-o conforme tuas forças, dê o seu melhor"

#12 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 21/07/2004, 11:25

é exatamente o que o klaus disse,mas se vc quiser pegar o endereço:
tire esse enctype="multipart/form-data"
e faça uma logica inversa:
PHP
<?php

for ($i=strlen($gravar); $i>-1;$i--){
  $nome = substr($gravar,$i,1) . $nome;
  }
  echo $nome;

?>
onde gravar é o nome do input file e para pegar o nome:
PHP
<?php

for ($i=strlen($gravar); $i>0;$i--){
if (
substr($gravar,$i,1)=="\\"){
break;
}
else{
$nome = substr($gravar,$i,1) . $nome;
}
echo
$nome;

?>

Edição feita por: Marcão, 21/07/2004, 11:26.

Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#13 saludarlly

saludarlly

    Turista

  • Usuários
  • 30 posts
  • Sexo:Não informado
  • Localidade:Maringá

Posted 21/07/2004, 11:48

;) Valeuuuuuuuuuuuuuu!!!!


Oi Klaus e Marcão... muito obrigada peal ajuda e paciência de vocês... se não fossem vossa inteligência, o que seria de pessoas como eu nessa vida de "programador".

Rapazes vocês são dimais!!!!!



Obs: sabem me dizer porque não consigo mais alterar minha foto pessoal no meu painel de controle?

Valeu gente fina !!!



:kiss: pra vcs...

Edição feita por: saludarlly, 21/07/2004, 14:03.

Saludarlly

" Tudo o que vier em tuas mãos para fazer, faze-o conforme tuas forças, dê o seu melhor"




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq