Jump to content


Photo

Problemas Com A Função Move_uploaded_file


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

#1 kandrade

kandrade

    Turista

  • Usuários
  • 38 posts
  • Sexo:Não informado
  • Localidade:Palmas-TO
  • Interesses:PHP - LINUX - Flash - Gimp

Posted 15/07/2005, 09:34

<?php

//

//se existir o arquivo
if(isset($_FILES["arquivo"])){

$arquivo = $_FILES["arquivo"];

$pasta_dir = "/blog/arquivos/";//diretorio dos arquivos
//se nao existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}

$arquivo_nome = $pasta_dir . $arquivo["name"];

$arq_completo = $arquivo["tmp_name"];

// Faz o upload da imagem
$teste=move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);

if(!$teste)
   echo "nao copiou o arquivo!!";

//conecta no banco
$cn = mysql_connect('localhost','root','mysql');
mysql_select_db('teste',$cn);

//aqui salva no banco o path da foto
mysql_query("INSERT INTO tabela VALUES ('', '$arquivo_nome')");
mysql_close($cn);

//print "Concluido com sucesso $arquivo_nome inserido $arq_completo !!!!";
print var_dump($file);
}

?>

galera esse é o código......estou usando um servidor local......php versão 4.3.7 e apache 1.3.31

o problema é que ele não copia o arquivo para a pasta blog/arquivos
já tentei usar o caminho completo....../var/www/htdocs/blog/arquivos mas tb não funcionou e como vi num tópico abaixo usei a função var_dump e a resposta encontrada foi NULL
aguém pode me ajudar?


valeu galera!!!!

Mas Deus dá prova do seu amor para conosco, em que, quando éramos ainda pecadores, Cristo morreu por nós.


>> Rm 5:8


#2 The bLk

The bLk

    Doutor

  • Usuários
  • 761 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 15/07/2005, 09:52

Pergunta boba, colocou enctype="multipart/form-data" no formulário?

#3 kandrade

kandrade

    Turista

  • Usuários
  • 38 posts
  • Sexo:Não informado
  • Localidade:Palmas-TO
  • Interesses:PHP - LINUX - Flash - Gimp

Posted 15/07/2005, 10:06

coloquei sim!!!!

Mas Deus dá prova do seu amor para conosco, em que, quando éramos ainda pecadores, Cristo morreu por nós.


>> Rm 5:8


#4 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 15/07/2005, 10:23

Dá erro? Tem permissão de escrita?
Eduardo Batista

#5 kandrade

kandrade

    Turista

  • Usuários
  • 38 posts
  • Sexo:Não informado
  • Localidade:Palmas-TO
  • Interesses:PHP - LINUX - Flash - Gimp

Posted 15/07/2005, 10:45

pior que não retorna nenhum erro.....a não ser o do próprio script falando que não copiou o arquivo....

o diretório está com permissão de escrita sim!!!!!

Mas Deus dá prova do seu amor para conosco, em que, quando éramos ainda pecadores, Cristo morreu por nós.


>> Rm 5:8


#6 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 15/07/2005, 10:54

Hum ... que tal debugar ?! :D

Tipo ... tenta imprimir cada variável que tu atribuistes ... vá debugando cada linha ... verifique se ocorre o esperado ... ;)

[]’s :D Até mais

#7 kandrade

kandrade

    Turista

  • Usuários
  • 38 posts
  • Sexo:Não informado
  • Localidade:Palmas-TO
  • Interesses:PHP - LINUX - Flash - Gimp

Posted 15/07/2005, 11:06

a variavel $arquivo_nome tem esse conteúdo: /blog/arquivos/00.jpg

creio que está certa......pois é o destino!!!!

agora a variável $arquivo["tmp"] tem esse conteúdo: /tmp/phpfRw9go

esse eu nem imagino se está correto.....até porque eu não entendi o que vem a ser um arquivo uploadeado válido mencionado no manual da função!!!!!

Mas Deus dá prova do seu amor para conosco, em que, quando éramos ainda pecadores, Cristo morreu por nós.


>> Rm 5:8


#8 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 15/07/2005, 11:24

Bom ... vamos lá ! :D

Esse índice tmp do array $_FILES é o nome temporário do arquivo postado ! ;)

Testei este código aqui e notei o erro ! B)

Tente mudar $pasta_dir para apenas um sub-diretório de um nível, e não dois. Por exemplo, $pasta_dir atualmente está configurada como /blog/arquivos/ ... tente só colocar /blog/. Fiz isso aqui e ... funcionou ! :)

[]’s :DAté mais

#9 kandrade

kandrade

    Turista

  • Usuários
  • 38 posts
  • Sexo:Não informado
  • Localidade:Palmas-TO
  • Interesses:PHP - LINUX - Flash - Gimp

Posted 15/07/2005, 13:38

naum sei pq mas continua sem funcionar!!!!

uma pergunta o índice tmp do array $_FILES é o nome temporário do arquivo postado como citado acima......certo.....então a foto primeiro é copiada pra esse diretório ou ela vem direto para o diretório de destino que no caso é a variável $arquivo_nome?

valeu pelas dicas galera....

Mas Deus dá prova do seu amor para conosco, em que, quando éramos ainda pecadores, Cristo morreu por nós.


>> Rm 5:8


#10 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 15/07/2005, 13:51

... então a foto primeiro é copiada pra esse diretório ou ela vem direto para o diretório de destino que no caso é a variável $arquivo_nome?

Primeiro ela é copiada para este diretório temporário ! ;)

Bom ... seu código atualmente não ocorre erros devido ao fato de seu php.ini, presumo eu, não estar configurado para exibí-los ! ;)

Tenta configurar teu php.ini para exibir o(s) erro(s) ocorrido(s), e nos informe-o(s) ... :rolleyes:

[]’s :DAté mais

#11 kandrade

kandrade

    Turista

  • Usuários
  • 38 posts
  • Sexo:Não informado
  • Localidade:Palmas-TO
  • Interesses:PHP - LINUX - Flash - Gimp

Posted 15/07/2005, 16:15

ae galera valeu pelas dicas.....o novo script ficou assim!!!

<?php

// Kleber de Andrade Reis

//se existir o arquivo
if(isset($_FILES["arquivo"])){

$arquivo = $_FILES["arquivo"];

$pasta_dir = "arquivos/";//diretorio dos arquivos
//se nao existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}

$arquivo_nome = $pasta_dir . $arquivo["name"];

$arq_completo = $arquivo["tmp_name"];

// Faz o upload da imagem
$teste=move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);

if(!$teste)
{
   echo "nao copiou o arquivo!!";
   exit (0);
}
//conecta no banco
$cn = mysql_connect('localhost','root','mysql');
mysql_select_db('teste',$cn);

//aqui salva no banco o path da foto
mysql_query("INSERT INTO tabela VALUES ('', '$arquivo_nome')");
mysql_close($cn);

print "Concluido com sucesso $arquivo_nome inserido!!!!";
}

?>

tive que tirar a primeira barra.....e como Paulo Freitas mudar $pasta_dir para apenas um sub-diretório de um nível agora ficando essa assim: arquivos/


valeu galera!!!


te+.........

Mas Deus dá prova do seu amor para conosco, em que, quando éramos ainda pecadores, Cristo morreu por nós.


>> Rm 5:8


#12 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 21/11/2017, 07:19

Propecia Esta Medicina Viagra 2 Day Delivery Best Buy Propecia online pharmacy Cialis E Levitra Forum Levitra 20 Mg Prezzo Farmacia
What Std'S Are Treated With Cephalexin Viagra Generika Berichte viagra prescription Priligy Reviews Blog Viagra Kaufen Deutschland
Canada Generic Tadalis Sx Cialis No Falla Where To Purchase Bentyl 20mg cialis buy online Doxycycline Hyclate 100mg Prednisone Side Effects
Cialis Tadalafil Ligne cialis Achat Xenical Ligne Viagra Precio En Farmacia Buy Prednisone Without Rx
Comprare Viagra Pfizer generic levitra online Prix Cialis 20




0 user(s) are reading this topic

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

IPB Skin By Virteq