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

Upload - Dúvidas


Guest - Tiago -

Pergunta

Peguei aqui no forum (creio que do Fabyo) um exemplo para enviar arquivos de imagens para o servidor. só que não está funcionando... Eis o codigo abaixo:

$arquivo = $_FILES["../Vendas/Clipper.jpg"];

$pasta_dir = "../Imagens/";//diretorio dos arquivos

//se não existir a pasta ele cria uma

if(!file_exists($pasta_dir)){

mkdir($pasta_dir);

}

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

print $arquivo_nome;

print $arquivo;

// Faz o upload da imagem

move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);

como voce pode ver, eu printei as variaveis $arquivo_nome e a variavel $arquivo.

A variavel $arquivo contem nulos...o diretório está correto....

O que é a tmp_name existente na última linha de codigo

Não dá nenhum erro, mas tambem não envia nenhum arquivo...

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
Guest Paulo Márcio

Tenta o seguinte:

$host = "ftp.seusite.com.br";

$senha = "123abcd";

$user = "fulano";

$diretorio = "/uploads/";

$conn = ftp_connect($host) or die("Erro na Conexão!");

$login = ftp_login($conn,$user,$senha) or die("Falha no Login");

if($_FILES['file']['name']){

if(!is_dir($diretorio)) ftp_mkdir($diretorio);

$arquivo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Paulo Márcio

Tenta o seguinte:

$host = "ftp.seusite.com.br";

$senha = "123abcd";

$user = "fulano";

$diretorio = "/uploads";

$conn = ftp_connect($host) or die("Erro na Conexão!");

$login = ftp_login($conn,$user,$senha) or die("Falha no Login");

if($_FILES['file']['name']){

if(!is_dir($diretorio)) ftp_mkdir($diretorio);

$arquivo = $_FILES['file']['name'];

$arq_tmp = $_FILES['file']['tmp_name'];

$upload = ftp_put($conn,'$diretorio/$arquivo','$arq_tmp',FTP_BINARY);

if(!$upload){

echo "Falha no Upload";

exit();

}

ftp_quit();

Qualquer dúvida é falar !!!! ph34r.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Sr. Moderador, voce diz para pegar o nome do campo no form??

Mas não estou tralhando com formulário...É apenas um script que busca o arquivo na minha máquina e manda la para o provedor...

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela ajuda, mas no trecho de codigo sugerido (mostrado abaixo):

if($_FILES['file']['name']){

if(!is_dir($diretorio)) ftp_mkdir($diretorio);

$arquivo = $_FILES['file']['name'];

$arq_tmp = $_FILES['file']['tmp_name'];

o que devo especificar em "file"?? E em "name" especifico o que?? E o que é o "tmp_name"??

Link para o comentário
Compartilhar em outros sites

  • 0

Veja o codigo abaixo:

if(isset($_FILES["userfile"])){

$arquivo = $_FILES["userfile"]; // aqui já corrigi e coloquei o nome do campo no formulário.

$pasta_dir = "../Imagens/";//diretorio dos arquivos

//se não existir a pasta ele cria uma

if(!file_exists($pasta_dir)){

mkdir($pasta_dir);

}

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

print $arquivo_nome;

// Faz o upload da imagem

if(!move_uploaded_file($arquivo["tmp_name"], $arquivo_nome))print "Erro ao transferir o arquivo";

}

O resulado é o seguinte:

Ele encontra o diretório Imagens (deduzo isto porque a funçao mkdir que cria diretório não está sendo executada - então é porque encontrou o diretório)

Só que não está fazendo o upload...

Estou na dúvida quanto ao tmp_name. Consultei o manual e lá diz o seguinte:

É o nome temporário do arquivo, como foi guardado no servidor.

Não entendi... o que devo fazer com esta variável??

Tem que ter uma pasta temporária no servidor?? Se for já tem uma... chama tmp

Link para o comentário
Compartilhar em outros sites

  • 0

Tenho um script bem pequeno de upload de arquivos TXT, bem simples, apenas para o entendimento do processo, que funciona perfeitamente... Olha aí:

<?php
$arquivo = $_FILES["file"]; // file é o nome do campo no form

$imagem_nome = md5(uniqid(time())) . ".txt"; //garante que não iremos sobrescrever nenhum arquivo no servidor
$imagem_dir = "upload/" . $imagem_nome;

move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

echo "Sucesso";
?>

Qualquer dúvida no código aí em cima é só falar!

Abraços!

Hawker

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, desta vez fui bem mais longe. Peguei um código completo de upload em um livro que faz todas as verificações (tamanho do arquivo, tipo de arquivo, etc).

Tem 2 pontos que quero esclarecer:

1 - Quando o programa chega na linha de codigo aaixo dá erro:

if(is_uploaded_file($userfile)){

if(!move_uploaded_file($userfile, $upfile)){

echo "Não posso transferir o arquivo para o diretório especificado";

exit;

}

No browser aparece a seguinte mensagem de erro:

Warning: move_uploaded_file(): open_basedir restriction in effect. File(/Imagens/Clipper.jpg) is not within the allowed path(s): (/home/tia:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/tia/public_html/In/Upload.php4 on line 70

Porque que não consegue transferir o arquivo?? Já dei chmod com todas as permissões...

2 - na pagina do formulário existe um campo onde voce define o tipo de arquivo:

<input name="userfile" type="file" />

Se eu especificar em type 'jpg', o botão input (quando clico para enviar o arquivo), na tela do browse ele desaparece...Porque?? Ou não devo especificar nada neste campo??

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,3k
    • Posts
      652,6k
×
×
  • Criar Novo...