SVG в JSON на стороне сервера? - PullRequest
1 голос
/ 20 марта 2012

Наше веб-приложение хранит файлы SVG на сервере, мы хотим получать выходные данные JSON из файлов SVG на стороне сервера.Я изучил программу PETESAIA SVG to JSON php.Но вывод, который я получаю, равен нулю или пустому массиву.

<?php
require_once “PeachSVG.php”;
$filename = “filename-2012-03-06.svg”;
$json = PeachSVG::convert($filename, $to_json = true);
//$json = convert($filename, $to_json = true);   //also used this one
var_dump(json_decode($json, true));
?>

Этот php-код, PeachSVG.php и файл svg находятся в одном каталоге.

Может кто-нибудь подсказать, где яя не прав с этим?

Или любая альтернатива SVG JSON на стороне сервера

РЕДАКТИРОВАТЬ: В ответ на @halfer и его запрос о том, почему нам нужна сторона серверапроверка SVG (преобразована в JSON).У нас есть чистое веб-приложение SVG (RaphaelJs), в котором пользователь может выполнять определенные действия, выходные данные отправляются и сохраняются на нашем сервере и размещаются на веб-сайте.Мы хотим убедиться, что выходной файл проверен перед размещением на сайте.Для этого нам необходимо пройти проверку на стороне сервера, чтобы убедиться, что пользователь не нарушает правила, установленные в приложении.

Raphael.serialize не может использоваться, поскольку он преобразует SVG в JSON на стороне клиента, что можетбыть оскорбленным пользователем.Поэтому мы отправляем документ SVG в виде строки на серверную часть.

Ответы [ 3 ]

1 голос
/ 20 марта 2012

Если вы можете установить Node.js на свой сервер, вы можете использовать fabric.js для анализа SVG, а затем экспортировать объекты в формате JSON.

https://github.com/kangax/fabric.js

http://kangax.github.com/fabric.js/svg_rendering/

0 голосов
/ 12 октября 2018

Вы сделали ошибку в функции require_once (). Путь к файлу php должен быть в скобках, например:

require_once("PeachSVG.php");

А для строк вы, кажется, используете не очень хорошие двойные кавычки. Вы, вероятно, скопировали их откуда-то. Потому что это левая двойная кавычка "" "(U + 201C) и правая двойная кавычка" "" (U + 201D). В коде это должно выглядеть не так:

“some your string”

но вот так:

"some your string"
0 голосов
/ 08 января 2013

Ваш скрипт работал очень хорошо на моем локальном сервере, но я должен удалить кавычки, которые у вас были, и заменить его на один из моего блокнота ++, который для меня похож на строковые кавычки. надеюсь, это поможет, если еще не нашли решение

...