J'essaie d'écrire un script côté serveur (PHP) pour générer une image SVG basée sur l'entrée de l'utilisateur. J'utilise le code suivant:
<?php echo '<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <head><meta http-equiv="Content-Type" content="svg+xml" /></head> <svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg"> <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/> </svg>'; ?>
3 Réponses :
Selon le page SVG sur Wikipedia , SVG doit être servi comme image la méta suivante: p> ne définit pas la manière dont un contenu est servi à partir d'un serveur - il est plus utile de donner cette information, Pour les pages HTML, lorsque vous ne pouvez pas définir la façon dont il est servi ...
Ceci est effectué à l'aide du PHP Remarque: p> J'espère que cela aide! p> p> svg + xml code>.
Voir aussi: 1.2 Type MIME SVG, Extension de nom de fichier et type de fichier Macintosh < / a>
Et, je ne sais pas si le méta-élément est valide dans le Spécifications SVG - - Je vais vous laisser vérifier que ^^ em> p>
Ce que vous devez faire, ici, c'est Envoyer un en-tête HTTP STRT> à partir de votre serveur, indiquant le type de contenu de vos données. P> en-tête code>
fonction; Dans votre cas: p>
code> et
Merci :) J'étais coincé cela pendant beaucoup de temps. Cela fonctionne parfaitement maintenant.
@Pascal: Oui, il n'y a pas de tête code> dans svg, et l'élément
méta code> est utilisé différemment.
J'ai réussi à utiliser svg dans un document XHTML récemment.
<?xml version='1.0'?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <head><title>test</title></head> <body> <svg:svg id="display" width="500" heigth="500" viewBox="0 0 500 500"> <svg:rect width="50" height="50" x="100" y="100" fill="red" stroke="black" /> </svg:svg> </body> </html>
Vous n'avez pas besoin d'utiliser des préfixes sur chaque élément, il suffit de mettre xmlns = " w3.org/2000 / SVG "sur l'élément" SVG> à l'extérieur ".
Oh vraiment, dois-je changer les xmlns: svg?
Il suffit de dire que ceci:
<?xml version='1.0'?> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>test</title></head> <body> <svg id="display" width="500" heigth="500" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect width="50" height="50" x="100" y="100" fill="red" stroke="black" /> </svg> </body> </html>