443,16 → 443,33 |
|
private function convertirEnPNGAvecRsvg($svg) { |
$idFichier = $this->getIdFichier(); |
|
// test répertoire de cache |
if(!is_dir($this->config['cache_stockageChemin'])) { |
mkdir($this->config['cache_stockageChemin'], 0777, true); |
} |
if(!is_dir($this->config['cache_stockageChemin'])) { |
error_log(__FILE__ . ": can't create cache {$this->config['cache_stockageChemin']}"); |
return NULL; |
} |
|
// test présence du binaire de conversion (rsvg) |
$i = $s = NULL; |
exec('which rsvg-convert', $s, $i); |
if($i != 0) { |
error_log(__FILE__ . ": no rsvg-convert binary"); |
return NULL; |
} |
|
// conversion svg => png |
$fichierPng = $this->config['cache_stockageChemin'].$idFichier.'.png'; |
$fichierSvg = $this->config['cache_stockageChemin'].$idFichier.'.svg'; |
file_put_contents($fichierSvg, $svg); |
//TODO: vérifier l'installation de rsvg et indiquer que la lib est manquante |
$commande = "rsvg-convert $fichierSvg -d 75 -p 75 -o $fichierPng"; |
$rsvg = exec($commande); |
|
$this->indexerFichierPng($fichierPng); |
$png = file_get_contents($fichierPng); |
return $png; |
return file_get_contents($fichierPng); |
} |
|
private function indexerFichierPng($fichierPng) { |