本文整理匯總了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;
}