-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgerador.php
142 lines (112 loc) · 4.9 KB
/
gerador.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?php
if (!isset($_FILES['file'])) { echo('A chave file não existe no array'); }
if (isset($_FILES['file'])) {
$arquivo = $_FILES['file'];
// Verificar se houve erro no upload
if ($arquivo['error'] === 0) {
// Extrair informações do arquivo
$nomeArquivo = $arquivo['name'];
$caminhoTemporario = $arquivo['tmp_name'];
$tamanhoArquivo = $arquivo['size'];
$tipoArquivo = $arquivo['type'];
$dataHoraSegundos = date('dmYHis');
// Validar o arquivo
if ($tamanhoArquivo <= 10485760) { // 10MB
if ($tipoArquivo === 'application/vnd.ms-excel' || $tipoArquivo === 'text/csv') {
// Definir o caminho final para salvar o arquivo
$caminhoFinal = 'temp/' . $dataHoraSegundos.".csv";
$Nomepasta = $dataHoraSegundos;
$caminhoExporteds = 'exporteds/'.$Nomepasta.'/';
// Mover o arquivo temporário para o caminho final
if (move_uploaded_file($caminhoTemporario, $caminhoFinal)) {
echo "<center>";
echo "Parabéns! O arquivo CSV foi enviado com sucesso!";
echo "<br><br>";
echo "Nome do Arquivo: ".$nomeArquivo;
echo "<br>";
echo "Caminho do Arquivo: ".$caminhoFinal;
echo "<br>";
echo "Tamanho do Arquivo: ".$tamanhoArquivo;
echo "<br>";
echo "Tipo do Arquivo: ".$tipoArquivo;
echo "</center>";
// Processar o arquivo CSV (leitura e manipulação dos dados)
// (código para leitura do CSV omitido por questão de complexidade)
$file = $caminhoFinal;
// Le o arquivo CSV e armazena os dados em um array
$dados = array();
$file = fopen($file, "r");
// Ignora a primeira linha (cabeçalho)
$linha = fgetcsv($file);
while (($linha = fgetcsv($file)) !== false) {
$dados[] = $linha;
}
fclose($file);
foreach ($dados as $linha) {
$titulo = $linha[1]; // Extrair o título da segunda coluna
$conteudo = $linha[4]; // Extrair o conteúdo da quinta coluna
$tituloCorrigido = substr($titulo, 0, -4);
// Criar o nome do arquivo HTML
$nomeArquivoHtml = $tituloCorrigido.".html";
// Gerar o conteúdo HTML
$html = "<html><body><p align='center'>$conteudo</p></body></html>";
// Verifica se a pasta já existe
if (!is_dir($caminhoExporteds)) {
// Cria a pasta com permissão 0777
mkdir($caminhoExporteds, 0777, true);
}
// Salvar arquivos HTML com os conteúdos
file_put_contents($caminhoExporteds.$nomeArquivoHtml, $html);
echo($titulo);
echo('<br>');
//echo($conteudo);
echo('<br><br>');
}
/*
// Gerar arquivos HTML para cada linha do CSV
foreach ($dados as $linha) {
$titulo = $linha[0]; // Extrair o título da primeira coluna
$conteudo = $linha[1]; // Extrair o conteúdo da segunda coluna
// Criar o nome do arquivo HTML
$nomeArquivoHtml = strtolower(str_replace(" ", "_", $titulo)) . ".html";
// Gerar o conteúdo HTML
$html = "<html><head><title>$titulo</title></head><body>$conteudo</body></html>";
// Salvar o conteúdo HTML em um arquivo
file_put_contents($nomeArquivoHtml, $html);
}
*/
} else {
echo "Erro ao mover o arquivo!";
}
} else {
echo "Erro: tipo de arquivo inválido!";
}
} else {
echo "Erro: arquivo muito grande!";
}
} else {
switch ($arquivo['error']) {
case UPLOAD_ERR_INI_SIZE:
echo "Erro: O arquivo excede o tamanho máximo permitido pelo servidor.";
break;
case UPLOAD_ERR_FORM_SIZE:
echo "Erro: O arquivo excede o tamanho máximo permitido pelo formulário.";
break;
case UPLOAD_ERR_NO_FILE:
echo "Erro: Nenhum arquivo foi enviado.";
break;
case UPLOAD_ERR_NO_TMP_DIR:
echo "Erro: Diretório temporário não encontrado.";
break;
case UPLOAD_ERR_CANT_WRITE:
echo "Erro: Falha ao escrever o arquivo no disco.";
break;
case UPLOAD_ERR_EXTENSION:
echo "Erro: Uma extensão PHP impediu o upload do arquivo.";
break;
default:
echo "Erro no upload do arquivo: " . $arquivo['error'];
}
}
}
?>