Problem uploading two files in PHP

Asked

Viewed 40 times

0

I am uploading two files the first goes up to folder and bank but, the 2nd file does not go up to the bank without extension inserir a descrição da imagem aqui

$conn = mysqli_connect($servidor, $usuario, $senha, $dbname);


$TIPO_SEGMENTO = filter_input(INPUT_POST, 'tiposegmento', FILTER_SANITIZE_STRING);
$DOC_ORIGEM = filter_input(INPUT_POST, 'docorigem', FILTER_SANITIZE_STRING);
$NUMERO_DOC_PROJETO = filter_input(INPUT_POST, 'numerodocprojeto', FILTER_SANITIZE_STRING);
$EMPRESA = filter_input(INPUT_POST, 'empresa', FILTER_SANITIZE_STRING);
$user = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$ANOBUGET = filter_input(INPUT_POST, 'anobuget', FILTER_SANITIZE_STRING);
$LOCALIDADE = filter_input(INPUT_POST, 'localidade', FILTER_SANITIZE_STRING);
$AT = filter_input(INPUT_POST, 'at', FILTER_SANITIZE_STRING);
$PROJETISTA = filter_input(INPUT_POST, 'projetista', FILTER_SANITIZE_STRING);
$CADASTRO_OSP_RESP = filter_input(INPUT_POST, 'cadastroospresp', FILTER_SANITIZE_STRING);
$date = date('Y-m-d H:i:s');
$foto = $_FILES["foto"];
$foto2 = $_FILES2["foto2"];


//echo "tiposegmento: $TIPO_SEGMENTO <br>";
//echo "docorigem: $DOC_ORIGEM <br>";

if(mysqli_insert_id($conn)){


$_SESSION['msg'] = "<p style='color:green;'>Usuário cadastrado com sucesso</p>";
header("Location: projeto.php");
}else{
$_SESSION['msg'] = "<p style='color:red;'>Usuário não foi cadastrado com sucesso</p>";
header("Location: projeto.php");
}

if (!empty($foto["name"])) {

preg_match("/\.(gif|bmp|png|jpg|jpeg|pdf|dwg){1}$/i", $foto["name"], $ext);

// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];

$caminho_imagem = "imagens/" . $nome_imagem;

move_uploaded_file($foto["tmp_name"], $caminho_imagem);
}


 preg_match("/\.(gif|bmp|png|jpg|jpeg|pdf|dwg){1}$/i", $foto2["name"], $ext2);

// Gera um nome único para a imagem
$nome_imagem2 = md5(uniqid(time())) . "." . $ext2[1];

$caminho_imagem2 = "imagens/" . $nome_imagem2;

move_uploaded_file($foto2["tmp_name"], $caminho_imagem2);


$result_usuario = "INSERT INTO Controle_proj (TIPO_SEGMENTO, DOC_ORIGEM, NUMERO_DOC_PROJETO, EMPRESA, DATA, ANOBUGET, LOCALIDADE, AT, PROJETISTA, CADASTRO_OSP_RESP,STATUS_PROJETO,deleted,arquivo,arquivo2) VALUES ('$TIPO_SEGMENTO', '$DOC_ORIGEM', '$NUMERO_DOC_PROJETO', '$EMPRESA', '$date', '$ANOBUGET', '$LOCALIDADE', '$AT', '$PROJETISTA', '$CADASTRO_OSP_RESP', 'EM ELABORAÇÃO', '0', '$caminho_imagem', '$caminho_imagem2')";
$resultado_usuario = mysqli_query($conn, $result_usuario);
// verifica se foi enviado um arquivo 
  • $foto2["tmp_name2"]? Shouldn’t be $foto2["tmp_name"]? Also, please add the latest error log messages from your server.

  • On the sixth line from the bottom up the array is pulling correctly? shouldn’t it be $ext2[1]? Test there if it is I put as answer.

  • Lucas Thanks but it didn’t happen but I updated with your suggestion!

  • @Andersoncarloswoss I did as requested thanks but ,the still was not!

  • Still missing the log messages in the question. Without this any information will be based on achism. Could [Edit] the question and add the log messages?

1 answer

-1

You are trying to get the second photo of the variable $_FILES2, but this is not the variable that PHP stores data from uploads of files by POST.

Utilize $_FILES["foto2"]; to obtain data from the second photo.

See how it’s in your code:

//[...]
$CADASTRO_OSP_RESP = filter_input(INPUT_POST, 'cadastroospresp', FILTER_SANITIZE_STRING);
$date = date('Y-m-d H:i:s');
$foto = $_FILES["foto"];
$foto2 = $_FILES2["foto2"];   // <<<--------- aqui


//echo "tiposegmento: $TIPO_SEGMENTO <br>";
// [...]

Browser other questions tagged

You are not signed in. Login or sign up in order to post.