На моем сайте в панели учетной записи пользователя я создал облачное пространство, в которое вы можете загружать векторные файлы.
Я создал код, который при попытке загрузить векторный файл имеет расширение .ai заменено на .svg. Я также пытался сделать это с форматами .pdf, .eps и .cdr.
Моя цель - показать предварительный просмотр векторного файла, загруженного клиентом на его странице. Это мой код, но он не работает:
<?php
if (isset($_POST['submit'])){
if(Mage::getSingleton('customer/session')->isLoggedIn()) {
$customer = Mage::getSingleton('customer/session')->getCustomer();
$_inchoo_Heared4us = $_FILES['pdfupload']['name'];
//CODICE PER SALVATAGGIO LOGHI CLIENTE NELLA SUA CARTELLA
if($_inchoo_Heared4us)
{
$customerName = trim($customer->getName());
$countTest = 0;
$photos = array();
foreach ($_FILES['pdfupload']['name'] as $key => $image) {
$countTest++;
if (empty($image)) {
continue;
}
$fileName = '';
if (isset($_FILES['pdfupload']['name'][$key]) && $_FILES['pdfupload']['name'][$key] != '') {
try {
$fileName = preg_replace('"\.ai$"', '.svg', $_FILES['pdfupload']['name'][$key]);
array_push($photos, $fileName);
$uploader = new Varien_File_Uploader(
array(
'name' => $_FILES['pdfupload']['name'][$key],
'type' => $_FILES['pdfupload']['type'][$key],
'tmp_name' => $_FILES['pdfupload']['tmp_name'][$key],
'error' => $_FILES['pdfupload']['error'][$key],
'size' => $_FILES['pdfupload']['size'][$key]
)
);
$uploader->setAllowedExtensions(array('ai','pdf','eps','svg','cdr','jpg','jpeg','png','tiff','tif','psd'));
$uploader->setAllowRenameFiles(false);
$uploader->setFilesDispersion(false);
$path = Mage::getBaseDir().DS.'clienti'.DS.$customerName;
$pathDB = Mage::getBaseUrl().'clienti'."/".$customerName;
if(!is_dir($path)){
mkdir($path, 0777, true);
}
$uploader->save($path . DS, $fileName );
} catch (Exception $e) {
$error = true;
}
}
}
}
}
}
?>
<form method="post" action="" enctype="multipart/form-data" id="pdfimage">
<p><input type="file" name="pdfupload[]" id="pdfupload" multiple="multiple" /></p>
<p><input type="submit" name="submit" value="Upload" /></p>
</form>
<?php
/*$usmap = $_SERVER["DOCUMENT_ROOT"].'/higiftit/clienti/John Doe/logo-ai.svg';
$pathSave = $_SERVER["DOCUMENT_ROOT"].'/higiftit/clienti/John Doe/';
if(file_exists($usmap)){
$im = new Imagick();
$svg = file_get_contents($usmap);
$im->readImageBlob($svg);
$im->setImageFormat("jpg");
$im->writeImage($pathSave.'testConv.jpg');
$im->clear();
$im->destroy();
}*/
?>
<img src="<?php echo Mage::getBaseUrl().'clienti'."/".'John Doe'."/".'logo-ai.svg'; ?>" />
<!--<object type="application/postscript" data="<?php //echo Mage::getBaseUrl().'clienti'."/".'John Doe'."/".'logo-ai.ai'; ?>"></object>-->
<!--<iframe src="<?php //echo Mage::getBaseUrl().'clienti'."/".'John Doe'."/".'logo-ai.svg'; ?>" height="200px"></iframe>-->
Я также попробовал imagick, но не могу преобразовать векторные файлы в imagick, поскольку мой сервер не позволяет использовать ghostscript.
Я также попробовал теги iframe и object для предварительного просмотра векторных файлов, но он не работает и не показывает предварительный просмотр