Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include 'datawarputil.php';
- include 'getmimetype.php';
- ini_set('memory_limit', '4000M');
- ini_set('max_execution_time', 2000);
- /*if (!$_FILES || count($_FILES) == 0) {
- echo "No files attached";
- exit;
- }*/
- //$upload = array_shift($_FILES);
- //$filename = $upload['name'];
- //$fileUrl = $upload['tmp_name'];
- $filename = $_REQUEST['name'];
- $chunksIDs = $_REQUEST['chunksIDs'];
- $firstFileUrl = "";
- $fileUrl = "";
- $sql = "SELECT chunk_content FROM file_chunks WHERE id IN " . $chunksIDs . " ORDER BY chunk_id";
- $result = array();
- $result[] = exec_query("", $sql, array());
- foreach (current($result) as $res) {
- $fileUrl = $fileUrl . $res[0];
- if ($firstFileUrl == "") {
- $firstFileUrl = $res[0];
- }
- }
- $sql = "DELETE FROM file_chunks WHERE id IN " . $chunksIDs;
- $result = array();
- $result[] = exec_query("", $sql, array());
- $info = new SplFileInfo($filename);
- $fileNameEndIndex = strrpos($filename, ".");
- $extension = substr($filename, $fileNameEndIndex + 1);
- $output = array();
- $mimeType = getMimeType($extension);
- $content = $fileUrl;
- $size = null;
- if ($mimeType == "image/jpeg")
- $size = getimagesize($firstFileUrl);
- $sql = "INSERT INTO files_content(`data`) VALUES (:a0)";
- $result = array();
- $result[] = exec_query("", $sql, array('a0' => $content));
- $sql = "SELECT LAST_INSERT_ID() AS id";
- $insertId = exec_query("", $sql, array())[0][0];
- $sql = "INSERT INTO files_metadata(`content_id`, `ext`, `width`, `height`, `parent_id`, `size`) VALUES (:a0, :a1, :a2, :a3, :a4, :a5)";
- $result = array();
- $result[] = exec_query("", $sql, array('a0' => $insertId, 'a1' => $mimeType, 'a2' => $size[0], 'a3' => $size[1], 'a4' => null, 'a5' => strlen($content)));
- $output[] = $insertId;
- if ($mimeType == "application/pdf") {
- $tempDir = sys_get_temp_dir();
- $tempDirUpdated = $tempDir;
- if ($tempDir[0] == "/" && $tempDir[strlen($tempDir) - 1] != "/") { // Unix
- $tempDirUpdated = $tempDirUpdated . "/";
- } elseif ($tempDir[0] != "/" && $tempDir[strlen($tempDir) - 1] != "\\") { // Windows
- $tempDirUpdated = $tempDirUpdated . "\\";
- }
- $tempPdfUrl = $tempDirUpdated . "1.pdf";
- file_put_contents($tempPdfUrl, $content);
- exec("pdf2svg " . "\"" . $tempPdfUrl . "\" \"" . $tempDirUpdated . "%d.svg\" all");
- unlink($tempPdfUrl);
- $i = 1;
- for (; ; ) {
- $curFileUrl = $tempDirUpdated . "{$i}.svg";
- if (file_exists($curFileUrl)) {
- $content = file_get_contents($curFileUrl);
- $sql = "INSERT INTO files_content(`data`) VALUES (:a0)";
- $result = array();
- $result[] = exec_query("", $sql, array('a0' => $content));
- $sql = "SELECT LAST_INSERT_ID() AS id";
- $curInsertId = exec_query("", $sql, array())[0][0];
- $sql = "INSERT INTO files_metadata(`content_id`, `ext`, `width`, `height`, `parent_id`, `size`) VALUES (:a0, :a1, :a2, :a3, :a4, :a5)";
- $result = array();
- $result[] = exec_query("", $sql, array('a0' => $curInsertId, 'a1' => getMimeType("svg"), 'a2' => null, 'a3' => null, 'a4' => $insertId, 'a5' => strlen($content)));
- $output[] = $curInsertId;
- unlink($curFileUrl);
- } else {
- break;
- }
- $i = $i + 1;
- }
- }
- echo json_encode($output);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement