FAQ PHP
FAQ PHPConsultez toutes les FAQ
Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 18 septembre 2021
Voici comment créer une Part de relations contenant une seule relation vers le document principal (ici de type Word) :
<?php
if
(!
file_exists('_rels'
))
{
mkdir('_rels'
);
}
$dom
=
new
DOMDocument();
$XMLRels
=
$dom
->
createElement('Relationships'
);
$XMLRels
->
setAttribute('xmlns'
,
'http://schemas.openxmlformats.org/package/2006/relationships'
);
$dom
->
appendChild($XMLRels
);
$XMLRel
=
$dom
->
createElement('Relationship'
);
$XMLRel
->
setAttribute('Id'
,
'rId1'
);
$XMLRel
->
setAttribute('Type'
,
'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'
);
$XMLRel
->
setAttribute('Target'
,
'word/document.xml'
);
$XMLRels
->
appendChild($XMLRel
);
$dom
->
save('_rels/.rels'
);
?>
Il ne peut y avoir qu'une seule relation de type "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" dans le fichier de relations, car c'est ce type de relation qui détermine le type du document au niveau global ainsi que l'emplacement de la Part principale dans l'archive.
- Id : Un identifiant unique dans le fichier de relations, c'est lui qui sera utilisé dans les Parts de l'archive ;
- Type : La description du contenu lié ;
- Target : La cible locale (dans l'archive) ou distante si l'attribut external est précisé.
$XMLRel
=
$dom
->
createElement('
Relationship
'
);
$XMLRel
->
setAttribute('
Id
'
,
'
rId1
'
);
$XMLRel
->
setAttribute('
Type
'
,
'
http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument
'
);
$XMLRel
->
setAttribute('
Target
'
,
'
word/document.xml
'
);
$XMLRels
->
appendChild($XMLRel
);
// Ajouter au noeud parent, ici "XMLRels"