1. Requirement
- PHP ZipArchive (http://php.net/manual/en/class.ziparchive.php)
2. Uploading Image (Same for Uploading Videos and Files)
Caution
Among the following codes provided as the guide, file upload part is a sample code and has insufficient security.
As for the file upload, please use the code used within your project and refer the following code to handle the system link.
<?php try { //Upload directory $uploadDir = 'uploads/images'; //Name of the form data $fieldName = 'file'; //File name $fileName = explode('.', $_FILES[$fieldName]['name']); //Filename extension $extension = end($fileName); //Temporary file name $tmpName = $_FILES[$fieldName]['tmp_name']; //File name for the new save $newFileName = sha1(microtime()); //Actual file upload path $fileUploadPath = "${uploadDir}/${newFileName}.${extension}"; //Save the file move_uploaded_file($tmpName, $fileUploadPath); //Send the response to the client. header('Content-Type: application/json'); echo json_encode(array( 'uploadPath' => $fileUploadPath, )); } catch (Exception $e) { echo $e->getMessage(); http_response_code(404); }
3. Importing HWP, MS Word and Excel Documents
Caution
Among the following codes provided as the guide, file upload part is a sample code and has insufficient security.
As for the file upload, please use the code used within your project and refer the following code to handle the system link.
<?php try { // Upload directory $uploadDir = 'uploads/docs'; // Name of the form data $fieldName = 'file'; // File name $fileName = explode('.', $_FILES[$fieldName]['name']); //Filename extension $extension = end($fileName); // Temporary file name $tmpName = $_FILES[$fieldName]['tmp_name']; // File name for the new save $newFileName = sha1(microtime()); // Actual file upload path $fileUploadPath = "${uploadDir}/${newFileName}.${extension}"; // Save the file move_uploaded_file($tmpName, $fileUploadPath); // Directory name to save conversion result $wordDir = 'works'; // Execute conversion $importPath = "${wordDir}/${newFileName}"; executeConverter($fileUploadPath, $importPath); // Serialize document data // Since v2.3.0, the file name is changed from document.word.pb to document.pb $pbFilePath = "${importPath}/document.pb"; $serializedData = readPBData($pbFilePath); // Send the response to the client. header('Content-Type: application/json'); echo json_encode(array( 'serializedData' => $serializedData, 'importPath' => $importPath, )); } catch (Exception $e) { echo $e->getMessage(); http_response_code(404); } function executeConverter($inputFilePath, $outputFilePath) { $sedocConverterPath = 'c:/sedocConverter/sedocConverter.exe'; $fontsDir = 'c:/sedocConverter/fonts'; $tempDir = 'c:/sedocConverter/tmp'; $cmd = "${sedocConverterPath} -f ${fontsDir} ${inputFilePath} ${outputFilePath} ${tempDir}"; exec($cmd); } function readPBData($pbFilePath) { $fb = fopen($pbFilePath, 'r'); $data = stream_get_contents($fb, -1, 16); fclose($fb); $byteArray = unpack('C*', zlib_decode($data)); // php 5.4.0 or below // $byteArray = unpack('C*', gzuncompress($data)); $serializedData = array_values($byteArray); return $serializedData; }