Boa noite…estou desenvolvendo um sistema com Upload de arquivos em PHP e no caso além de inserir arquivos no formulário pelo Upload, o usuário também podera excluir arquivos e incluir novos anexos no Upload porém estes dois casos não estão funcionando direito.
Segue abaixo o arquivo que faz a adm dos registros e a parte em PHP que irá fazer toda esta alteração.
Arquivo para a alteração do registro.
<?
#incluir arquivos de conexão e funções
include "../UTILS/conexao.php";
//include_once "../UTILS/funcoes_usr.php";
#definir o char-set da página
setlocale(LC_ALL,"pt_BR");
header('Content-type: text/html; charset=windows-1252');
set_time_limit(120); //Tempo limite de execução
ERROR_REPORTING (E_ERROR); //Exibe somente erros fatais
#Variáveis de Data e Hora
$dataAt = date('d/m/Y');
$horaAt = date('H:i:s');
$inserir = 0;
$usuario = strtolower($_SERVER["LOGON_USER"]);
$usuario_1 = split('\\\\', $usuario);
$usuario = $usuario_1[1];
//variaveis para execução do SQL
SQL();
global $sql;
$idd = $_REQUEST["id"];//Varíavel para buscar o campo id do registro
//echo "O ID para alteração é o: ".$idd;
//echo "<BR><BR>";
#Cria a consulta inicial
$altEve = "SELECT [id],[mudanca],[tarefa]
,[descricao],[ambiente],[empresa],[reg_afet]
,[sist_afet],[hw_afet],[host_name],[serv_afet]
,[conclusao],[obs],[data_exec],[obs2],[upload]
FROM [Passagem].[dbo].[tb_eventos_relev_tst] WHERE ID= $idd";
//echo $altPas;
//echo "<BR>";
#realiza a busca pelos dados do registro
$result = $sql->execute($altEve);
if($tbl = $result)
{
$codigo = $tbl["id"];
$codigo = $tbl["mudanca"];
$codigo = $tbl["tarefa"];
$codigo = $tbl["descricao"];
$codigo = $tbl["ambiente"];
$codigo = $tbl["empresa"];
$codigo = $tbl["reg_afet"];
$codigo = $tbl["sist_afet"];
$codigo = $tbl["hw_afet"];
$codigo = $tbl["host_name"];
$codigo = $tbl["serv_afet"];
$codigo = $tbl["conclusao"];
$codigo = $tbl["obs"];
$codigo = $tbl["obs2"];
$codigo = $tbl["data_exec"];
$codigo = $tbl["upload"];
}
else
{ echo "Registro não localizado"; }
#Inicia o tratamento dos registros
while (!$result -> EOF) {
$id = $result->Fields['id']->Value;
$mudanca = $result->Fields['mudanca']->Value;
$tarefa = $result->Fields['tarefa']->Value;
$descricao = $result->Fields['descricao']->Value;
$ambiente = $result->Fields['ambiente']->Value;
$empresa = $result->Fields['empresa']->Value;
$reg_afet = $result->Fields['reg_afet']->Value;
$sist_afet = $result->Fields['sist_afet']->Value;
$hw_afet = $result->Fields['hw_afet']->Value;
$host_name = $result->Fields['host_name']->Value;
$serv_afet = $result->Fields['serv_afet']->Value;
$conclusao = $result->Fields['conclusao']->Value;
$obs = $result->Fields['obs']->Value;
$data_exec = $result->Fields['data_exec']->Value;
$obs2 = $result->Fields['obs2']->Value;
$upload = $result->Fields['upload']->Value;
$dataEx = substr($data_exec, 8,2)."/".substr($data_exec,5,2)."/".substr($data_exec, 0,4);
//echo "<BR>";
$uploadExi = explode(' , ',$upload);
//foreach($uploadExi as $valores)
//{
//echo $valores.'<BR>';
//}
#Move para o registro seguinte
$result->MoveNext();
}
?>
<html>
<head>
<title>Eventos relevantes - CGR</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<meta name="authors" content="CGR - Governança"/>
<link rel="StyleSheet" type="text/css" href="../CSS/Paginas.css">
<script type="text/javascript" charset="utf-8" src="../JS/jquery-1.11.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="../JS/jQuery-Mask-Plugin-master/dist/jquery.mask.min.js"></script>
</head>
<body>
<fieldset>
<?
//echo "Data".$data_exec."<BR>";
//echo "Data".$dataEx."<BR>";
$dataExec = $dataEx;
//echo "Data".$dataExec."<BR>";
?>
<form name="formEventos" method="POST" action="../UTILS/registra2.php">
<!-- ID -----Hidden -->
<input type="hidden" name="eveId" value="<? echo $id; ?>">
<!--Mudança-->
<p>
<label for="idMudanca">Mudança:</label>
<input type="text" name="eveMudanca" id="idMudanca" class="medio" placeholder="Nº Mudança" value="<?=$mudanca;?>"/>
</p><br>
<!--Tarefa-->
<p>
<label for="idTarefa">Tarefa:</label>
<input type="text" name="eveTarefa" id="idTarefa" class="medio" placeholder="Nº Tarefa" value="<?=$tarefa;?>"/>
</p><br>
<!--Descrição-->
<p>
<label for="idDescricao">Descrição:</label>
<input type="text" name="eveDescricao" id="idDescricao" class="medio" placeholder="Descrição do evento" required value="<?=$descricao?>" />
</p><br>
<!--Plataforma-->
<p>
<label for="idAmbiente">Ambiente:</label>
<select name="eveAmbiente" id="idAmbiente" class="medio">
<option value="<?=$ambiente;?>"><?=$ambiente;?></option>
<option value="">Selecione ...</option>
<option value="Backbone">Backbone</option>
<option value="Extranet">Extranet</option>
<option value="Rede de acesso">Rede de Acesso</option>
<option value="Lotéricos">Lotéricos</option>
<option value="PAE">PAE</option>
<option value="Rede 1">Rede 1</option>
<option value="Rede 2">Rede 2 </option>
<option value="Rede 3">Rede 3</option>
<option value="Rede 4">Rede 4</option>
<option value="Rede 5">Rede 5</option>
<option value="Rede 6">Rede 6</option>
</select>
</p><br>
<!--Empresa-->
<p>
<label for="idEmpresa">Empresa:</label>
<input type="text" name="eveEmpresa" id="idEmpresa" class="medio" placeholder="Empresa" value="<?=$empresa;?>"/>
</p><br>
<!--Região afetada-->
<p>
<label for="idRegAfet">Região Afetada:</label>
<input type="text" name="eveRegAfet" id="idRegAfet" class="medio" placeholder="Região Afetada" value="<?=$reg_afet;?>"/>
</p><br>
<!--Sistema afetado-->
<p>
<label for="idSistAfet">Sistema Afetado:</label>
<input type="text" name="eveSistAfet" id="idSistAfet" class="medio" placeholder="Sistema Afetado" value="<?=$sist_afet;?>"/>
</p><br>
<!--Hardware afetado-->
<p>
<label for="idHardAfet">Hardware Afetado:</label>
<input type="text" name="eveHardAfet" id="idHardAfet" class="medio" placeholder="Hardware Afetado" value="<?=$hw_afet;?>"/>
</p><br>
<!--Hostname-->
<p>
<label for="idHostname">Hostname:</label>
<input type="text" name="eveHostname" id="idHostname" class="medio" placeholder="Hostname" value="<?=$host_name;?>"/>
</p><br>
<!--Serviço Afetado-->
<p>
<label for="idServAfet">Serviço Afetado:</label>
<input type="text" name="eveServAfet" id="idServAfet" class="medio" placeholder="Serviço Afetado" value="<?=$serv_afet;?>"/>
</p><br>
<p>
<label for="idDataExec">Data de execução:</label>
<input type="text" name="eveDataExec" id="idDataExec" value="<?=$dataExec; ?>" class="medio" />
<!--<script type="text/javascript">$("#idDataExec").mask("00/00/0000");</script>-->
</p><br>
<p>
<label for="idConcluido">Concluído com Sucesso:</label>
<select name="eveConcluido" id="idConcluido" class="medio">
<option value="<?=$conclusao; ?>"><?=$conclusao; ?></option>
<option value="">Selecione..</option>
<option value="Sim">Sim</option>
<option value="Não">Não</option>
<option value="Parcialmente">Parcialmente</option>
<option value="Cancelada">Cancelada</option>
<option value="Abortada">Abortada</option>
</select>
</p><br>
<p>
<label for="idObservacao">Observação</label>
<textarea name="eveObservacao" id="idObservacao" rows="4" cols="60"><?=$obs;?></textarea>
</p><br>
<p>
<label for="idObservacao2">Observação 2:</label>
<textarea name="eveObservacao2" id="idObservacao2" rows="4" cols="60"><?=$obs2;?></textarea>
</p><br>
<p>
<form method="post" action="../UTILS/registra2.php">
<label>Anexo:</label>
<input type="hidden" name="hidId" id="idHidId" value="<?=$id;?>"/>
<input type="hidden" name="eveArquivoAntigo" id="idArquivoAntigo" value="<? echo $upload; ?>" />
<?
if($upload == '' || $upload == 'Sem arquivo anexo') {
echo 'Não existem arquivos anexos para este registro';
} else {
foreach($uploadExi as $valores) {
echo '<a href="../UTILS/' . $valores . '" target="_blank" >'.$valores.'</a>
<input type="text" name="hidValor" value="'.$valores.'"/>
<input type="submit" name="ExcluirAnexo" value="Excluir Anexo" class="botaoExc"><BR>
'; //disabled
}
?>
<?
}
?>
</form>
</p><br>
<p>
<label for="idArquivo">Incluir novo anexo:</label>
<input type="file" name="eveArquivo[]" id="idArquivo" disabled />
</p><br>
<p>
<input type="hidden" name="eveUsr" value="<?=$usuario; ?>" />
</p>
<input type="submit" name="acao" value="Alterar" name="Alterar" class="botao"/>
</form>
</fieldset>
</body>
</html>
E agora a parte de gerencia de registros
//Variáveis que serão usadas para tratar o upload de arquivo
if($_FILES['eveArquivo']['size'] == 0){
$anexado = 'Sem arquivo anexo';
} else {
$total = count($_FILES['eveArquivo']['name']);
for($i=0; $i<$total; $i++) {
$diretorio = 'Uploads/';//diretório onde serão armazenados os arquivos
//echo $diretorio."(dir)<BR>";
$nome = basename($_FILES['eveArquivo']['name'][$i]);
//echo $nome."(nome)<BR>";
$file = preg_replace('/\\.[^.\\s]{3,4}$/','',$nome);
//echo $file."(file)<BR>";
$saida = preg_replace('/[^a-z0-9]/i','',$file);
//echo $saida."(exit)<BR>";
$ext = strtolower(end(explode('.',$_FILES['eveArquivo']['name'][$i])));//nome da extensao
//echo $ext."(ext)<BR>";
$nomeFinal = $diretorio.$saida.'.'.$ext;
//echo $nomeFinal."<BR>";
//$_SESSION['eveArquivo'] = $file;
$uploadOk = 1;
$fileType = array('doc', 'docx', 'xls', 'xlsx','odt', 'ods',
'jpeg', 'jpg', 'png', 'msg', 'pdf', 'txt','htm', 'html', 'csv');//Extensões permitidas
$maxsize = 1024 * 1024 * 9; //Tamanho máximo do arquivo
if($_FILES['eveArquivo']['size'][$i] > $maxsize) {
echo "
<span>
Arquivo muito grande. Permitido somente arquivo de até 9,40Mb)
</span>
";
$uploadOk = 0;
}
//echo $_FILES['eveArquivo']['size'];
//echo "<BR>";
#Permite os formatos
$extensao = strtolower(end(explode('.', $_FILES['eveArquivo']['name'][$i])));
//echo $extensao;
//echo "<BR>";
if(array_search($extensao, $fileType) === false) {
echo "
<span>
Por favor, envie arquivos com as seguintes extensões: doc, docx, xls,
xlsx, odt, ods, jpeg, jpg, png, msg, pdf, txt, htm, html ou csv.
</span>
";
$uploadOk = 0;
}
//Checa se o Upload não foi carregado por um erro
if($uploadOk == 0) {
echo "Seu arquivo não pode ser carregado.";
echo "<BR>";
} else {
if(move_uploaded_file($_FILES['eveArquivo']['tmp_name'][$i], $nomeFinal)) {
echo "<BR>";
echo "O arquivo ". basename($_FILES['eveArquivo']['name'][$i]). " foi carregado.";
echo "<BR>";
} else {
echo "Ocorreu um erro ao carregar o arquivo.";
echo "<BR>";
}
}
$fileExi[] = $nomeFinal;
//echo $fileExi." fileExi";
//echo "<BR><BR>";
$anexado = implode(' , ',$fileExi);
//echo $anexado." anexado";
} }
//Cria a função para escolher a ação
function get_post_action($name)
{
$params = func_get_args();
foreach($params as $name) {
if(isset($_POST[$name])) {
return $name;
}
}
}
/*Aqui vai a parte de Incluir que está OK ae tirei do código, deixei só o alterar e a exclusão de um arquivo de Upload */
//Alterar registro
case 'Alterar':
$id = $_REQUEST["eveId"]; //Campo hidden que será utilizado para atualização do registro
//$dataE = $_REQUEST["eveDataExec"];
//echo $dataE; echo "<BR>";
//$dataExec = date('Y-m-d',strtotime($dataE));
//Incluir novo anexo
if($_REQUEST["eveDataExec"] == '')
{
$dataExec == ''; } else
{
$dataExec = $_REQUEST["eveDataExec"];
$dataExec = substr($dataExec, 6,4)."-".substr($dataExec, 3,2)."-".substr($dataExec, 0,2);
}
//Procedimento interno para qualquer tipo de alteração dos arquivos anexos
$anexoAntigo = "SELECT [upload] FROM [dbo].[tb_eventos_relev_tst] WHERE [id] ='".$id."'"; //AnexoAntigo
//Executa a consulta
$res = $sql->execute($anexoAntigo);
$aneOld = $res->Fields['upload']->Value;
echo $anexado."<BR>";
$newAnexo = $aneOld.' , '.$anexado;
echo $newAnexo."<BR>";
$dataExec = $_REQUEST["eveDataExec"];
$dataExec = substr($dataExec, 6,4)."-".substr($dataExec, 3,2)."-".substr($dataExec, 0,2);
$updateEvento = "UPDATE [dbo].[tb_eventos_relev_tst] SET";
$updateEvento .= "[mudanca] = '".$_REQUEST["eveMudanca"]."',";
$updateEvento .= "[tarefa] = '".$_REQUEST["eveTarefa"]."',";
$updateEvento .= "[descricao] = '".$_REQUEST["eveDescricao"]."',";
$updateEvento .= "[ambiente] = '".$_REQUEST["eveAmbiente"]."',";
$updateEvento .= "[empresa] = '".$_REQUEST["eveEmpresa"]."',";
$updateEvento .= "[reg_afet] = '".$_REQUEST["eveRegAfet"]."',";
$updateEvento .= "[sist_afet] = '".$_REQUEST["eveSistAfet"]."',";
$updateEvento .= "[hw_afet] = '".$_REQUEST["eveHardAfet"]."',";
$updateEvento .= "[host_name] = '".$_REQUEST["eveHostname"]."',";
$updateEvento .= "[serv_afet] = '".$_REQUEST["eveServAfet"]."',";
$updateEvento .= "[conclusao] = '".$_REQUEST["eveConcluido"]."',";
$updateEvento .= "[obs] = '".$_REQUEST["eveObservacao"]."',";
$updateEvento .= "[obs2] = '".$_REQUEST["eveObservacao2"]."',";
$updateEvento .="[upload] ='".$newAnexo."',";
$updateEvento .= "[usr_alt] = '".$_REQUEST["eveUsr"]."',";
$updateEvento .= "[data_exec] = '".$dataExec."'";
$updateEvento .= " WHERE [id] = '".$id."'";
echo $updateEvento;
echo "<BR>";
$result = $sql->execute($updateEvento);
echo "
<p style='font-size: 15px; color: #000080;'>Registro alterado com sucesso!!!!</p>
<br><p><a href='../FILES/alterar_even_tst.php?id=$id'>Clique aqui para alterar o registro</a></p>
<br>";
break;
//Exclusão de Anexo
case 'ExcluirAnexo':
$idPag = $_REQUEST['eveId'];//Id da página
$id = $_REQUEST['hidId']; //Busca campo ID na página
echo $id."<BR>";
$excAnexo = $_REQUEST["hidValor"];
echo $encAnexo."<BR>";
//Efetua a consulta no banco
$consulta = "SELECT [upload] FROM [dbo].[tb_eventos_relev_tst] REPLACE ('$encAnexo','$encAnexo','') WHERE [id]=$id";
echo $consulta."<BR>";
//Executa a consulta
//$result = $sql->execute($consulta);
//Exibe o resultado
echo "O arquivo $encAnexo foi excluído com sucesso<BR>";
echo "<br><p><a href='../FILES/alterar_even_tst.php?id=$idPag'>Clique aqui para voltar a tela de alteração</a></p>";
break;
Bom no caso não está funcionando a remoção de arquivos e também não está funcionando ao colocar um novo upload…
Até +