I'm trying to use a "mutable" upload path. I made a bidding system, that with each new bid, a folder with the name of the same one will be created where the related files will be uploaded using mkdir (); but now I do not know how to send the files to their respective folder.
Whenthepersonclicksonsendfile,thefilehadtogototheselectedbiddingfolder.
Hereismyfileuploadcode:
<?phpinclude("funcoes.php");
require_once ("conexao.php");
$msg = false;
$objeto = $_POST["objeto"];
var_dump($objeto);
if( isset($_POST['enviou']) && $_POST['enviou'] == 1 ){
// arquivo
$arquivo = $_FILES['arquivo'];
// Tamanho máximo do arquivo (em Bytes)
$tamanhoPermitido = 1024 * 1024 * 2; // 2Mb
//Define o diretorio para onde enviaremos o arquivo
$diretorio = "uploads/";
// verifica se arquivo foi enviado e sem erros
if( $arquivo['error'] == UPLOAD_ERR_OK ){
// pego a extensão do arquivo
$extensao = extensao($arquivo['name']);
// valida a extensão
if( in_array( $extensao, array("pdf") ) ){
// verifica tamanho do arquivo
if ( $arquivo['size'] > $tamanhoPermitido ){
$msg = "<strong>Aviso!</strong> O arquivo enviado é muito grande, envie arquivos de até ".$tamanhoPermitido/MB." MB.";
$class = "alert-warning";
}else{
)
// // atribui novo nome ao arquivo
// $novo_nome = md5(time()).".".$extensao;
// faz o upload
$destino = $diretorio.$objeto."/".basename($_FILES['arquivo']);
$enviou = move_uploaded_file($_FILES['arquivo'], $destino);
if($enviou){
header("Location: listalicitacao.php");
die();
}else{
echo "Erro ao subir arquivo";
}
}
}else{
$msg = "<strong>Erro!</strong> Somente arquivos PDF são permitidos.";
$class = "alert-danger";
}
}else{
$msg = "<strong>Atenção!</strong> Você deve enviar um arquivo.";
$class = "alert-info";
}
}
?>
HTML where I get the name of the tender:
<?php
require_once("elementos.php");
?>
<div class="alinha">
<h3>Licitações</h3>
<form action="cadastralicitacao.php" method="post">
<div class="form-group">
<label for="exampleInputEmail1">Objeto</label>
<textarea class="form-control" name="objeto" rows="4"></textarea>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Modalidade</label>
<select class="form-control" name="modalidade">
<option value="Pregão">Pregão</option>
<option value="Concorrência">Concorrência</option>
<option value="Carta convite">Carta convite</option>
<option value="Tomada de preços">Tomada de preço</option>
<option value="Leilão">Leilão</option>
<option value="Chamamento">Chamamento</option>
<option value="Dispensa">Dispensa</option>
<option value="Inexigibilidade">Inexigibilidade</option>
</select>
</div>
<div class="form-group">
<label for="exampleInputFile">Status do processo</label>
<select class="form-control" name="status">
<option value="Em andamento">Em andamento</option>
<option value="Encerrado">Encerrado</option>
</select>
</div>
<div class="form-group">
<label>Número do processo</label>
<input type="text" name="numprocesso" class="form-control" placeholder="Forneça o número do processo">
</div>
<div class="form-group">
<label>Data de abertura</label>
<input type="date" class="form-control" name="dataabertura" placeholder="Forneça o número do processo">
</div>
<button type="submit" class="btn btn-default">Enviar</button>
</form>
</div>
</div>
</div>
<?php
require_once("rodape.php");
The name of the bidding is in "Object", but I already use it in another page, in the cadastralicitation.php, and I do not know how to use it in the page of upload
Cadastralicitation:
<?php
require_once("conexao.php");
$obj = $_POST["objeto"];
$mod = $_POST["modalidade"];
$sta = $_POST["status"];
$num = $_POST["numprocesso"];
$dat = $_POST["dataabertura"];
$query = "insert into licitacao (objeto, modalidade, status, numprocesso, dataabertura) values ('{$obj}','{$mod}','{$sta}','{$num}','{$dat}')";
if(mysqli_query($conexao,$query)){
mkdir("uploads/$obj", 0777);
header("Location: listalicitacao.php");
die();
} else {
echo "Erro ao adicionar licitação";
}
require_once("rodape.php");
I do not know how to reuse this $ object variable on other pages
Page where file upload is called:
<?php
require_once ("elementos.php");
?>
<div class="col-lg-12">
<div class="form-group">
<form method="post" action="recebe_upload.php" enctype="multipart/form-data">
<input type="hidden" name="objeto" value="<?=$_POST["objeto"]?>">
<input type="hidden" name="enviou" value="1">
<label>Arquivo</label>
<input type="file" name="arquivo" />
<button type="submit" class="btn btn-default">Enviar</button>
</form>
</div>
</div>