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

Move_uploaded_file


lemissel

Pergunta

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

...

Se nomedoarquivo não é um arquivo carregado válido, então não haverá nenhuma ação e move_uploaded_file() irá retornar FALSE.

Se nomedoarquivo é um arquivo uploadeado válido e não pode ser movido por alguma razão, nenhuma ação irá ocorrer, e move_uploaded_file() irá retornar FALSE. Adicionalmente, um aviso será emitido.

...

Olá pessoal, dei uma passada no manual do php para verificar de perto essa função... euestou fazendo um sist. de upload de arquivos... as variáveis estão chegando no meu script td certinho, mas na hora de mover, ele sempre cai na parte falsa da função...

lendo a parte "Se nomedoarquivo é um arquivo uploadeado válido e não pode ser movido por alguma razão..." gostaria de saber quais poderiam ser essas razões... e se tem problemas quanto usar is_uploaded_file e move_uploded_file juntas (já que move_uloaded_file tb verifica se o arquivo n é malígno hehe)...

o erro é o seguinte...

n deuArray ( [file] => Array ( [name] => nome.jpg [type] => image/pjpeg [tmp_name] => C:\WINDOWS\TEMP\php16.tmp [error] => 0 [size] => 52661 ) ) Ocorreu um erro ao inserir os seus dados na base de dados, volte e tente novamenteO erro da base de dados foi: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'C:\WINDOWS\TEMP\php16.tmp')' at line 1

e a versão do php é 4.3.9

Obs.: a insersão no bd funcionava c a mesma sintaxe antes de implementar o upload... achoq esse erro se originou pelo nome do arquivo... 'C:\...'.

Valeuuu

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Já teve várias versões.. essa é a última heheh q apresentou o erro acima...

valeu ae wink.gif

<?php

//hp para acesso restrito

include('../a/restrito/prot.php');

//inclusão da página de configuração

require "config.php";

//variáveis abreviadas

$numero=$HTTP_POST_VARS['numero'];

$titulo=$HTTP_POST_VARS['titulo'];

$aplicacao=$HTTP_POST_VARS['aplicacao'];

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

$file_type=$_FILES['file']['type'];

$file_size=$_FILES['file']['size'];

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

$file_error=$_FILES['file']['error'];

//limpa os dados inseridos para colocar no bd

$numero=addslashes($numero);

$titulo=addslashes($titulo);

$aplicacao=addslashes($aplicacao);

if(is_uploaded_file($file))

{

//tamanho

if($file_size > 9000000000000000)

{ echo '<center>Seu arquivo é muito grande e não pode ser enviado.</center>';

exit;

}

//erros

switch($file_error)

{ case 0: //sem erros

break;

case 1: echo 'Seu arquivo está muito grande conforme o tamanho definido no servidor'; break;

case 2: echo 'Seu arquivo está muito grande para esta aplicação'; break;

case 3: echo 'Seu arquivo foi parcialmente enviado'; break;

case 4: echo 'O arquivo não pode ser enviado'; break;

}

$caminho="d:\Domains\fduadvogados.com.br\wwwroot\a\mecanismos\bs\\";

if(!copy($file_name, $caminho))

{ echo 'n deu';

print_r($_FILES);

}

else

$file="d:\Domains\fduadvogados.com.br\wwwroot\a\mecanismos\bs\\".$file_name;

}

@ mysql_connect($host,$user,$pass) or die ("Ocorreu um erro ao conectar no banco de dados: ".mysql_error());

@ mysql_select_db('ar') or die ("Ocorreu um erro ao selecionar no banco de dados: ".mysql_error());

//inserção de dados no bd

$sql="INSERT INTO $bs (numero, titulo, aplicacao, caminho,imagem) VALUES ('".$numero."','".$titulo."','".$aplicacao."','".$caminho."','".$file."')";

$query=mysql_query($sql);

//verifica se os dados foram inseridos com sucesso

if($query)

echo 'Você inseriu os dados com sucesso. <br><a href="index.php?sessao=cbs">Cadastrar outro Boletin de serviço</a>';

else

{ echo 'Ocorreu um erro ao inserir os seus dados na base de dados, <a href="javascript:history.go(-2);">volte</a> e tente novamente';

echo 'O erro da base de dados foi: '.mysql_error();

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

cara, eu vou postar um código q eu uso para fazer upload, tipo neste seu codigo eu n vi error algum, só evite de usar o HTTP_POST_VARS user $_POST...

<?php

//Inicia a sessão

session_start();

  //minhas funções

  require_once("funcoes/uteis.php");

    //Recupera dados da sessão

    $id = $_SESSION["id"];

      //define o arquivo

      $tamanho = $_FILES["arquivo"]["size"];

      $tipo = $_FILES["arquivo"]["type"];

      $diretorio = "arquivo/";

      $nome_arquivo = $_FILES["arquivo"]["name"];

        //verifica se o tamanho do arquivo corresponde ao tamanho permitido (8000000)

        if($tamanho < 8000000)

        {

            //verifica se o tipo de arquivo correspode ao tipo permitido (.gif e .jpg no caso foi imagem)

            if($tipo == "image/pjpeg" or "image/gif")

            {

              //verifica se o aruivo esta no temp

              if(is_uploaded_file($_FILES["arquivo"]["tmp_name"]))

              {

                  //faz o upload do arquivo

                  if(move_uploaded_file($_FILES["arquivo"]["tmp_name"],"$diretorio".$_FILES["arquivo"]["name"]))

                  {

                  //conecta ao banco de dados

                  conectar("helpdesk");

                          //comando sql

                          $sql = "UPDATE usuarios SET foto = '$nome_arquivo' WHERE id = '$id'";

                            //comando que executa o sql

                            mysql_query($sql);

                                echo ("UpLoad efetuado com sucesso!");

                  }else

                  {

                        echo ("Não foi possivel efetuar o UpLoad!");

                  }

              }else

                {

                        echo ("Arquivo inexistente!");

                }

            }else

            {

                echo ("Tipo inválido, por favor troque seu arquivo!");

            }

        }else

        {

                              echo ("Tamanho muito grande!");

                        }

?>

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,1k
×
×
  • Criar Novo...