86 lines
3.0 KiB
PHP
86 lines
3.0 KiB
PHP
<?php
|
|
if (!isset($_SESSION['user_id'])) {
|
|
header("Location: login.php");
|
|
exit();
|
|
}
|
|
|
|
require_once 'document_processor.php';
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['document'])) {
|
|
try {
|
|
$file = $_FILES['document'];
|
|
$uploadDir = 'uploads/documents/';
|
|
$processedDir = 'uploads/processed/';
|
|
|
|
// Cria diretórios se não existirem
|
|
if (!file_exists($uploadDir)) {
|
|
mkdir($uploadDir, 0777, true);
|
|
}
|
|
if (!file_exists($processedDir)) {
|
|
mkdir($processedDir, 0777, true);
|
|
}
|
|
|
|
// Gera nomes únicos para os arquivos
|
|
$originalName = basename($file['name']);
|
|
$extension = pathinfo($originalName, PATHINFO_EXTENSION);
|
|
$timestamp = time();
|
|
$uploadFile = $uploadDir . $timestamp . '_' . $originalName;
|
|
$processedFile = $processedDir . $timestamp . '_processed.' . $extension;
|
|
|
|
if (move_uploaded_file($file['tmp_name'], $uploadFile)) {
|
|
$processor = new DocumentProcessor();
|
|
$result = $processor->processDocument($uploadFile, $processedFile);
|
|
|
|
// Salva o registro no banco de dados
|
|
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
|
|
$stmt = $mysqli->prepare("INSERT INTO processed_documents (user_id, original_path, processed_path, created_at) VALUES (?, ?, ?, NOW())");
|
|
$stmt->bind_param("iss", $_SESSION['user_id'], $uploadFile, $processedFile);
|
|
$stmt->execute();
|
|
|
|
$message = "Documento processado com sucesso!";
|
|
$success = true;
|
|
} else {
|
|
throw new Exception("Falha ao fazer upload do arquivo.");
|
|
}
|
|
} catch (Exception $e) {
|
|
$message = "Erro: " . $e->getMessage();
|
|
$success = false;
|
|
}
|
|
}
|
|
?>
|
|
|
|
<div class="container">
|
|
<h2>Processamento de Documentos</h2>
|
|
|
|
<?php if (isset($message)): ?>
|
|
<div class="alert <?php echo $success ? 'alert-success' : 'alert-error'; ?>">
|
|
<?php echo htmlspecialchars($message); ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<form method="POST" enctype="multipart/form-data" class="upload-form">
|
|
<div class="form-group">
|
|
<label for="document">Selecione o documento:</label>
|
|
<input type="file" id="document" name="document" accept="image/*" required>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-primary">Processar Documento</button>
|
|
</form>
|
|
|
|
<?php if (isset($processedFile) && file_exists($processedFile)): ?>
|
|
<div class="result-preview">
|
|
<h3>Resultado:</h3>
|
|
<div class="image-comparison">
|
|
<div>
|
|
<h4>Original:</h4>
|
|
<img src="<?php echo htmlspecialchars($uploadFile); ?>" alt="Original">
|
|
</div>
|
|
<div>
|
|
<h4>Processado:</h4>
|
|
<img src="<?php echo htmlspecialchars($processedFile); ?>" alt="Processado">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
</div>
|