本文整理汇总了PHP中Tinebase_Core::callSystemCommand方法的典型用法代码示例。如果您正苦于以下问题:PHP Tinebase_Core::callSystemCommand方法的具体用法?PHP Tinebase_Core::callSystemCommand怎么用?PHP Tinebase_Core::callSystemCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tinebase_Core
的用法示例。
在下文中一共展示了Tinebase_Core::callSystemCommand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: extractWinMailDat
/**
* @param string $partId
* @param string $messageId
*
* @return array
*/
public function extractWinMailDat($messageId, $partId = NULL)
{
$path = Tinebase_Core::getTempDir() . '/winmail/';
// create base path
if (!is_dir($path)) {
mkdir($path);
}
// create path for this message id
if (!is_dir($path . $messageId)) {
mkdir($path . $messageId);
$part = $this->getMessagePart($messageId, $partId);
$path = $path . $messageId . '/';
$datFile = $path . 'winmail.dat';
$stream = $part->getDecodedStream();
$tmpFile = fopen($datFile, 'w');
stream_copy_to_stream($stream, $tmpFile);
fclose($tmpFile);
// find out filenames
$files = array();
$fileString = explode(chr(10), Tinebase_Core::callSystemCommand('tnef -t ' . $datFile));
foreach ($fileString as $line) {
$split = explode('|', $line);
$clean = trim($split[0]);
if (!empty($clean)) {
$files[] = $clean;
}
}
// extract files
Tinebase_Core::callSystemCommand('tnef -C ' . $path . ' ' . $datFile);
} else {
// temp files still existing
$dir = new DirectoryIterator($path . $messageId);
$files = array();
foreach ($dir as $file) {
if ($file->isFile() && $file->getFilename() != 'winmail.dat') {
$files[] = $file->getFilename();
}
}
}
asort($files);
return $files;
}