【问题标题】:Dynamically populate SVG file using PHP?使用 PHP 动态填充 SVG 文件?
【发布时间】:2013-01-30 05:35:08
【问题描述】:

我有以下 SVG 示例图:

http://jovansfreelance.com/bikestats/circos/travels.svg

你可以从那里看到源代码,都是客户端的。

该图表使用样本数据。现在,我需要做的是从数据库中动态填充(或者从我可以使用 PHP 生成的服务器上的文件)。

将 PHP 代码直接放入 SVG 文件是行不通的。使用 onLoad AJAX 调用不起作用。它根本不会让我包含 jQuery。那么我该怎么做呢?我知道有办法,但我对 SVG 文件完全陌生。

【问题讨论】:

    标签: php javascript svg


    【解决方案1】:

    从 PHP 生成 SVG 和从 PHP 生成 HTML 并没有真正的区别。您只需要覆盖默认的内容类型标头 (header('Content-Type: application/svg+xml');)。

    当然,您仍然需要 .php 文件扩展名,因为您的服务器不会(默认情况下)设置为解析 .svg 文件以获取 PHP 代码。

    【讨论】:

    • 那么,标题应该是什么?事实上,如果我将格式更改为.php,我会收到以下错误:Parse error: syntax error, unexpected T_STRING in /home/frufru/public_html/bikestats/circos/travels.php on line 1
    • 另外,有没有办法告诉服务器解析这个 SVG 文件中的 PHP 代码?使用 htaccess 什么的?
    • 设置标题的代码在答案中。您需要禁用 PHP 安装中的短标签或 echo 来自 PHP 的 XML 声明。是的,Google 会告诉你如何配置 Apache 以在具有不同文件扩展名的文件中运行 PHP。
    • 谢谢,我现在知道了。我会在几分钟内接受你的回答。
    • 对我来说,application/svg+xml content-type 无法从 PHP 文件生成 SVG。我改用image/svg+xml
    猜你喜欢
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 2022-01-20
    • 2023-03-13
    • 2010-12-16
    • 2015-12-07
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多