本文整理汇总了PHP中Safe::shell_exec方法的典型用法代码示例。如果您正苦于以下问题:PHP Safe::shell_exec方法的具体用法?PHP Safe::shell_exec怎么用?PHP Safe::shell_exec使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Safe
的用法示例。
在下文中一共展示了Safe::shell_exec方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: render
/**
* render graphviz object
*
* @return string the rendered text
**/
public function render($matches)
{
global $context;
list($text, $variant) = $matches;
// sanity check
if (!$text) {
$text = 'Hello->World!';
}
// remove tags put by WYSIWYG editors
$text = strip_tags(str_replace(array('>', '<', '&', '"', '\\"'), array('>', '<', '&', '"', '"'), str_replace(array('<br />', '</p>'), "\n", $text)));
// build the .dot content
switch ($variant) {
case 'digraph':
default:
$text = 'digraph G { ' . $text . ' }' . "\n";
break;
}
// id for this object
$hash = md5($text);
// path to cached files
$path = $context['path_to_root'] . 'temporary/graphviz.';
// we cache content
if ($content = Safe::file_get_contents($path . $hash . '.html')) {
return $content;
}
// build a .dot file
if (!Safe::file_put_contents($path . $hash . '.dot', $text)) {
$content = '[error writing .dot file]';
return $content;
}
// process the .dot file
if (isset($context['dot.command'])) {
$command = $context['dot.command'];
} else {
$command = 'dot';
}
// $font = '"/System/Library/Fonts/Times.dfont"';
// $command = '/sw/bin/dot -v -Nfontname='.$font
$command .= ' -Tcmapx -o "' . $path . $hash . '.map"' . ' -Tpng -o "' . $path . $hash . '.png"' . ' "' . $path . $hash . '.dot"';
if (Safe::shell_exec($command) == NULL) {
$content = '[error while using graphviz]';
return $content;
}
// produce the HTML
$content = '<img src="' . $context['url_to_root'] . 'temporary/graphviz.' . $hash . '.png" usemap="#mainmap" />';
$content .= Safe::file_get_contents($path . $hash . '.map');
// put in cache
Safe::file_put_contents($path . $hash . '.html', $content);
// done
return $content;
}