Som*_*ens 5 php apache xampp svg
我想用PHP创建一个SVG文件,然后将其包含在HTML文件中.这是我到目前为止(遵循本教程)
svg.php:
<?php
header("Content-type: image/svg+xml");
?>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/
REC-SVG-20010904/DTD/svg10.dtd">
<svg width="310" height="140" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g style="stroke:black;fill:lightgreen" transform="translate(30,30)">
<rect x="10" y="10" width="100" height="30" style="stroke-width:4"/>
<circle cx="170" cy="25" r="20" style="stroke-width:4"/>
<line x1="265" y1="10" x2="200" y2="70" style="stroke-width:4"/>
<text x="80" y="90" style="font:size: 8">Basic shapes</text>
</g>
</svg>
Run Code Online (Sandbox Code Playgroud)
的index.html
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html,body, #MOSVG {
height: 100%;
width: 100%;
padding:0;
margin:0;
}
</style>
</head>
<body>
<object data="svg.php" type="image/svg+xml" id="MOSVG" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我看到index.html所有我看到的是一个空白页面.控制台上没有警告/错误.Apache错误日志(我正在使用XAMPP)给出[Mon Jul 09 14:36:15 2012] [error] [client 127.0.0.1] script 'C:/xampp/htdocs/svgtest/public/svg.php' not found or unable to stat, referer: http://localhost/svgtest/public/.他们在同一个目录中.
GeoPhoenix在上面回答说,我想我会把它放到一个答案中,以便有一个正式的答案:
如果你删除
<?xml?>它,它会渲染svg
<?由于短开放标记设置(感谢fvu),PHP可以看作PHP代码的开始标记(而不是XML声明).这是一个简单的修复,我刚刚更换
<?xml version="1.0" encoding="iso-8859-1"?>
Run Code Online (Sandbox Code Playgroud)
同
<?php echo '<?xml version="1.0" encoding="iso-8859-1"?>';?>
Run Code Online (Sandbox Code Playgroud)
这具有相同的预期结果,并且不会导致语法错误.
| 归档时间: |
|
| 查看次数: |
7661 次 |
| 最近记录: |