-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfile_upload.php
More file actions
93 lines (77 loc) · 2.29 KB
/
file_upload.php
File metadata and controls
93 lines (77 loc) · 2.29 KB
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
<?php
require_once 'config.php';
function selectDb($db, $sql)
{
if (!$result = mysqli_query($db, $sql)) {
rollback($db, $sql);
}
return $result;
}
function rollback($db)
{
mysqli_query($db, "rollback;");
mysqli_close($db);
exit(1);
}
function connectDB()
{
global $db_host, $db_user, $db_pass, $db_db;
$db = mysqli_connect(
$db_host,
$db_user,
$db_pass,
$db_db
);
mysqli_set_charset($db, 'utf8');
selectDb($db, "start transaction");
return $db;
}
function close($db, $commit=False)
{
if ($commit == True) {
mysqli_commit($db);
} else {
mysqli_query($db, "rollback;");
}
mysqli_close($db);
}
$user = "";
if (!isset($_SERVER['PHP_AUTH_USER'])) {
if (!isset($_SERVER['REMOTE_USER'])) {
header('HTTP/1.1 403 Access denied');
print "unautorized User";
exit(1);
}
$user = $_SERVER['REMOTE_USER'];
} else {
$user = $_SERVER['PHP_AUTH_USER'];
}
$uniqid = uniqid();
$uploaddir = 'documents/';
$uploadfile = $uploaddir . $uniqid .".pdf";
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
header('HTTP/1.1 200 OK');
$db = connectDB();
exec("convert -density 50 \"".$uploadfile."[0]\" \"".$uploadfile.".png\"");
exec("convert -density 300 \"".$uploadfile."\" -depth 8 -strip -background white -alpha off \"".$uploadfile.".tiff\"");
exec("tesseract -l ".$ocr_lang." \"".$uploadfile.".tiff\" \"".$uploadfile.".ocr\"");
exec("pdftotext \"".$uploadfile."\" \"".$uploadfile.".ext\"");
unlink($uploadfile.".tiff");
$ocr = file_get_contents($uploadfile.".ocr.txt");
$ext = file_get_contents($uploadfile.".ext");
unlink($uploadfile.".ocr.txt");
unlink($uploadfile.".ext");
$sql = "INSERT INTO `files` (`pdfLocation`,`orginal_name`,`tumbnail`,`user`, `ocrtext`, `pdftext`) VALUES ('".$uploadfile."', '".
mysqli_real_escape_string($db, $_FILES['file']['name'])."','".
$uploadfile.".png','".mysqli_real_escape_string($db, $user)."',
'".mysqli_real_escape_string($db, $ocr)."', '".mysqli_real_escape_string($db, $ext)."');";
selectDb($db, $sql);
$last_id = mysqli_insert_id($db);
print $last_id;
close($db, True);
} else {
header('HTTP/1.1 500 Internal Server Error');
echo "upload failed\n";
}
exit(0);
?>