2012-03-20 6 views
1

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

<?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 на стороне сервера

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

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

+0

Какой у вас вариант использования? Вы держите документы SVG на сервере и хотите отобразить их в браузере? Если да, не могут ли они быть переданы напрямую через AJAX, используя Raphael или что-то еще? – halfer

+0

Включены ли вы уведомления и все сообщения об ошибках для вашего кода выше, кстати? Может быть, есть буглет, которому нужно отслеживать? – halfer

+0

Да, наши документы SVG находятся на сервере, но нам не нужно отображать их обратно в браузере. Мы должны использовать JSON SVG для какой-либо проверки. –

ответ

1

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

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

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

+0

К сожалению, мы не можем установить Node.js. Пожалуйста, обратитесь к нам за любым другим решением, если вы можете, решение на основе php было бы лучше –

0

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

Смежные вопросы