1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
function xmlpdf($contenu)
{
// Récupération du nom du fichier PDF
$nomficpdf = '';
$pos = strpos($contenu, '.pdf');
if (!($pos === false))
{
$val1 = substr($contenu, 0, $pos+4);
$pos = strrpos($val1, '>');
if (!($pos === false))
{
$nomficpdf = substr($val1, $pos+1, strlen($val1)-($pos+1));
}
}
//******** XML *********//
// Définition des bornes pour l'extraction du XML
$detect_deb_xml = '<?xml';
$detect_fin_xml = '</soapenv:Envelope>';
// Détection des bornes pour l'extraction du XML
$debxml = strpos($contenu, $detect_deb_xml);
$finxml = strpos($contenu, $detect_fin_xml);
// Extraction du XML
$xml = substr($contenu, $debxml, $finxml - ($debxml - strlen($detect_fin_xml)));
//******** XML *********//
//******** PDF *********//
// Définition des bornes pour l'extraction du PDF
$detect_deb_pdf = '%PDF';
$detect_fin_pdf = '%%EOF';
// Détection des bornes pour l'extraction du PDF
$debpdf = strpos($contenu, $detect_deb_pdf);
$finpdf = strpos($contenu, $detect_fin_pdf);
// Extraction du PDF
$pdf = substr($contenu, $debpdf, $finpdf - ($debpdf - strlen($detect_fin_pdf)));
//******** PDF *********//
if ($debxml >= 0 && $debxml < 10) // Si le contenu est un simple XML
{
// Récupération du XML
return $contenu;
}
else // Si le contenu contient un fichier PDF
{
if ($nomficpdf != '') // Si le nom du fichier PDF a bien été trouvé
{
// Génération du fichier PDF
$fic = fopen('/home/pdf/'.$nomficpdf, "w");
fputs($fic, $pdf);
fclose($fic);
}
// Récupération du XML
return $xml;
}
} |
Partager