• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP exec函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中exec函数的典型用法代码示例。如果您正苦于以下问题:PHP exec函数的具体用法?PHP exec怎么用?PHP exec使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了exec函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: createSymbolicLink

 public static function createSymbolicLink($rootDir = null)
 {
     IS_MULTI_MODULES || exit('please set is_multi_modules => true');
     $deper = Request::isCli() ? PHP_EOL : '<br />';
     echo "{$deper}**************************create link start!*********************{$deper}";
     echo '|' . str_pad('', 64, ' ', STR_PAD_BOTH) . '|';
     is_null($rootDir) && ($rootDir = ROOT_PATH . DIRECTORY_SEPARATOR . 'web');
     is_dir($rootDir) || mkdir($rootDir, true, 0700);
     //modules_static_path_name
     // 递归遍历目录
     $dirIterator = new \DirectoryIterator(APP_MODULES_PATH);
     foreach ($dirIterator as $file) {
         if (!$file->isDot() && $file->isDir()) {
             $resourceDir = $file->getPathName() . DIRECTORY_SEPARATOR . Config::get('modules_static_path_name');
             if (is_dir($resourceDir)) {
                 $distDir = ROOT_PATH . DIRECTORY_SEPARATOR . 'web' . DIRECTORY_SEPARATOR . $file->getFilename();
                 $cmd = Request::operatingSystem() ? "mklink /d {$distDir} {$resourceDir}" : "ln -s {$resourceDir} {$distDir}";
                 exec($cmd, $result);
                 $tip = "create link Application [{$file->getFilename()}] result : [" . (is_dir($distDir) ? 'true' : 'false') . "]";
                 $tip = str_pad($tip, 64, ' ', STR_PAD_BOTH);
                 print_r($deper . '|' . $tip . '|');
             }
         }
     }
     echo $deper . '|' . str_pad('', 64, ' ', STR_PAD_BOTH) . '|';
     echo "{$deper}****************************create link end!**********************{$deper}";
 }
开发者ID:phpdn,项目名称:framework,代码行数:27,代码来源:StaticResource.php


示例2: shareBugglAction

 public function shareBugglAction(Request $request)
 {
     $prevEmails = '';
     $invalidMessage = '';
     if ($request->isMethod('POST')) {
         $invalidEmails = array();
         $validEmails = array();
         $prevEmails = $request->request->get('emails', '');
         $localReferenceService = $this->get('buggl_main.local_reference_service');
         $validationData = $localReferenceService->validateEmails($prevEmails);
         $invalidMessage = $validationData['invalidMessage'];
         if (empty($invalidMessage)) {
             $shareService = $this->get('buggl_main.share');
             $user = $this->get('security.context')->getToken()->getUser();
             foreach ($validationData['validEmails'] as $key => $email) {
                 $share = $shareService->saveShareInfo($email, $user);
             }
             $prevEmails = '';
             exec('../app/console buggl:email_shares > /dev/null 2>&1 &');
             $streetCreditService = $this->get('buggl_main.street_credit');
             $streetCreditService->updateShareStatus($user);
             $this->get('session')->getFlashBag()->add('success', "Emails sent!");
         }
     }
     $localAuthor = $this->get('security.context')->getToken()->getUser();
     //$streetCredit = $this->getDoctrine()->getRepository("BugglMainBundle:StreetCredit")->findOneByLocalAuthor($localAuthor);
     $newEGuideRequestCount = $this->getDoctrine()->getEntityManager()->getRepository('BugglMainBundle:MessageToUser')->countRequestByStatus($localAuthor, array('0' => '0'));
     $data = array('invalidMessage' => $invalidMessage, 'prevEmails' => $prevEmails, 'newRequestCount' => $newEGuideRequestCount);
     return $this->render('BugglMainBundle:LocalAuthor\\EarnMore:shareBuggl.html.twig', $data);
 }
开发者ID:thebuggl-org,项目名称:tests-buggl,代码行数:30,代码来源:EarnMoreController.php


示例3: getApertureFields

 /**
  * Load metadata about an HTML document using Aperture.
  *
  * @param string $htmlFile File on disk containing HTML.
  *
  * @return array
  */
 protected static function getApertureFields($htmlFile)
 {
     $xmlFile = tempnam('/tmp', 'apt');
     $cmd = static::getApertureCommand($htmlFile, $xmlFile, 'filecrawler');
     exec($cmd);
     // If we failed to process the file, give up now:
     if (!file_exists($xmlFile)) {
         throw new \Exception('Aperture failed.');
     }
     // Extract and decode the full text from the XML:
     $xml = str_replace(chr(0), ' ', file_get_contents($xmlFile));
     @unlink($xmlFile);
     preg_match('/<plainTextContent[^>]*>([^<]*)</ms', $xml, $matches);
     $final = isset($matches[1]) ? trim(html_entity_decode($matches[1], ENT_QUOTES, 'UTF-8')) : '';
     // Extract the title from the XML:
     preg_match('/<title[^>]*>([^<]*)</ms', $xml, $matches);
     $title = isset($matches[1]) ? trim(html_entity_decode($matches[1], ENT_QUOTES, 'UTF-8')) : '';
     // Extract the keywords from the XML:
     preg_match_all('/<keyword[^>]*>([^<]*)</ms', $xml, $matches);
     $keywords = [];
     if (isset($matches[1])) {
         foreach ($matches[1] as $current) {
             $keywords[] = trim(html_entity_decode($current, ENT_QUOTES, 'UTF-8'));
         }
     }
     // Extract the description from the XML:
     preg_match('/<description[^>]*>([^<]*)</ms', $xml, $matches);
     $description = isset($matches[1]) ? trim(html_entity_decode($matches[1], ENT_QUOTES, 'UTF-8')) : '';
     // Send back the extracted fields:
     return ['title' => $title, 'keywords' => $keywords, 'description' => $description, 'fulltext' => $final];
 }
开发者ID:grharry,项目名称:vufind,代码行数:38,代码来源:VuFindSitemap.php


示例4: startTestsInSandcastle

 function startTestsInSandcastle($workflow)
 {
     // extract information we need from workflow or CLI
     $diffID = $workflow->getDiffId();
     $username = exec("whoami");
     if ($diffID == null || $username == null) {
         // there is no diff and we can't extract username
         // we cannot schedule sandcasstle job
         return;
     }
     // list of tests we want to run in sandcastle
     $tests = array("unit", "unit_481", "clang_unit", "tsan", "asan", "lite");
     // construct a job definition for each test and add it to the master plan
     foreach ($tests as $test) {
         $arg[] = array("name" => "RocksDB diff " . $diffID . " test " . $test, "steps" => $this->getSteps($diffID, $username, $test));
     }
     // we cannot submit the parallel execution master plan to sandcastle
     // we need supply the job plan as a determinator
     // so we construct a small job that will spit out the master job plan
     // which sandcastle will parse and execute
     $arg_encoded = base64_encode(json_encode($arg));
     $command = array("name" => "Run diff " . $diffID . "for user " . $username, "steps" => array());
     $command["steps"][] = array("name" => "Generate determinator", "shell" => "echo " . $arg_encoded . " | base64 --decode", "determinator" => true, "user" => "root");
     // submit to sandcastle
     $url = 'https://interngraph.intern.facebook.com/sandcastle/generate?' . 'command=SandcastleUniversalCommand' . '&vcs=rocksdb-git&revision=origin%2Fmaster&type=lego' . '&user=krad&alias=rocksdb-precommit' . '&command-args=' . urlencode(json_encode($command));
     $cmd = 'https_proxy= HTTPS_PROXY= curl -s -k -F app=659387027470559 ' . '-F token=AeO_3f2Ya3TujjnxGD4 "' . $url . '"';
     $output = shell_exec($cmd);
     // extract sandcastle URL from the response
     preg_match('/url": "(.+)"/', $output, $sandcastle_url);
     echo "\nSandcastle URL: " . $sandcastle_url[1] . "\n";
     // Ask phabricator to display it on the diff UI
     $this->postURL($diffID, $sandcastle_url[1]);
 }
开发者ID:xxxx001,项目名称:rocksdb,代码行数:33,代码来源:FacebookArcanistConfiguration.php


示例5: guideShareAction

 public function guideShareAction(Request $request)
 {
     $slug = $request->get('slug');
     $eguide = $this->getDoctrine()->getRepository('BugglMainBundle:EGuide')->findOneBySlug($slug);
     $localAuthor = $this->get('security.context')->getToken()->getUser();
     if (is_null($eguide) || $eguide->getLocalAuthor()->getId() != $localAuthor->getId()) {
         $this->get('session')->setFlash('error', 'The guide does not exist or is not yours!');
         return new RedirectResponse($this->generateUrl('local_author_dashboard'));
     }
     $socialMedia = $this->get('buggl_main.entity_repository')->getRepository('BugglMainBundle:SocialMedia')->findByLocalAuthor($localAuthor);
     $prevEmails = '';
     $invalidMessage = '';
     if ($request->isMethod('POST')) {
         $invalidEmails = array();
         $validEmails = array();
         $prevEmails = $request->request->get('emails', '');
         // TODO: maybe refactor email validation in a separate service
         $localReferenceService = $this->get('buggl_main.local_reference_service');
         $validationData = $localReferenceService->validateEmails($prevEmails);
         $invalidMessage = $validationData['invalidMessage'];
         if (empty($invalidMessage)) {
             $prevEmails = '';
             exec('../app/console buggl:guide_share_email ' . implode(',', $validationData['validEmails']) . ' ' . $eguide->getId() . ' > /dev/null 2>&1 &');
             $this->get('session')->getFlashBag()->add('success', "Guide has been shared!");
             return new RedirectResponse($this->generateUrl('e_guide_share', array('slug' => $eguide->getSlug())));
         }
     }
     $data = array('eguide' => $eguide, 'socialMedia' => $socialMedia, 'invalidMessage' => $invalidMessage, 'prevEmails' => $prevEmails);
     return $this->render('BugglMainBundle:LocalAuthor/EGuideShare:share.html.twig', $data);
 }
开发者ID:thebuggl-org,项目名称:tests-buggl,代码行数:30,代码来源:EGuideShareController.php


示例6: execute

 function execute($subpage)
 {
     global $wgOut, $wgRequest, $wgNotAValidWikia, $IP;
     $redirect = $wgNotAValidWikia;
     $wikia = $wgRequest->getText('wikia');
     $art = $wgRequest->getText('article');
     if (!empty($wikia)) {
         $iCityId = self::isWikiExists($wikia);
         if ($iCityId) {
             //wiki exists
             $redirect = self::getCityUrl($iCityId);
             if (empty($art)) {
                 //no article set - redir to the main page
                 $output = null;
                 exec("'echo Title::newMainPage();' | SERVER_ID={$iCityId} php {$IP}/maintenance/eval.php --conf /usr/wikia/docroot/wiki.factory/LocalSettings.php", $output);
                 if (count($output)) {
                     $redirect .= '/index.php?title=' . $output[0];
                 }
             } else {
                 //article provided
                 $redirect .= '/index.php?title=' . $art;
             }
         }
     }
     //		$wgOut->SetPageTitle(wfMsg('interwikidispatcher'));
     $wgOut->redirect($redirect, 301);
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:27,代码来源:SpecialInterwikiDispatcher_body.php


示例7: plist

 public function plist($plist, $setting, $value = '')
 {
     if ($value == '') {
         return exec("defaults read '{$plist}' '{$setting}'");
     }
     return exec("defaults write '{$plist}' '{$setting}' '{$value}'");
 }
开发者ID:jesseflorig,项目名称:config,代码行数:7,代码来源:OhAlfred.php


示例8: toWebM

 public function toWebM()
 {
     $options = " -i {$this->video->getTmpFolder()}{$this->video->getName()} -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis {$this->video->getTmpFolder()}{$this->video->getName()}.webm";
     exec(__DIR__ . "/resources/{$this->sistema_operacional}{$options}");
     $this->versions[] = ".webm";
     return $this;
 }
开发者ID:pedrosoares,项目名称:VideoConverter,代码行数:7,代码来源:Converter.php


示例9: execute2

 private function execute2($command)
 {
     $output = array();
     $ret = 0;
     exec($command, $output, $ret);
     return $output;
 }
开发者ID:prince-mishra,项目名称:icode,代码行数:7,代码来源:git.php


示例10: testInstall

 /**
  * @depends GLPIInstallTest::installDatabase
  */
 public function testInstall()
 {
     global $DB;
     $DB->connect();
     $this->assertTrue($DB->connected, "Problem connecting to the Database");
     // Delete if Table of FusionInventory or Tracker yet in DB
     $query = "SHOW FULL TABLES WHERE TABLE_TYPE LIKE 'VIEW'";
     $result = $DB->query($query);
     while ($data = $DB->fetch_array($result)) {
         if (strstr($data[0], "fusi")) {
             $DB->query("DROP VIEW " . $data[0]);
         }
     }
     $query = "SHOW TABLES";
     $result = $DB->query($query);
     while ($data = $DB->fetch_array($result)) {
         if (strstr($data[0], "tracker") or strstr($data[0], "fusi")) {
             $DB->query("DROP TABLE " . $data[0]);
         }
     }
     $output = array();
     $returncode = 0;
     exec("php -f " . FUSINV_ROOT . "/scripts/cli_install.php -- --as-user 'glpi'", $output, $returncode);
     $this->assertEquals(0, $returncode, "Error when installing plugin in CLI mode\n" . implode("\n", $output));
     $GLPIlog = new GLPIlogs();
     $GLPIlog->testSQLlogs();
     $GLPIlog->testPHPlogs();
     $FusinvDBTest = new FusinvDB();
     $FusinvDBTest->checkInstall("fusioninventory", "install new version");
     PluginFusioninventoryConfig::loadCache();
 }
开发者ID:korial29,项目名称:fusioninventory-for-glpi,代码行数:34,代码来源:FusinvInstallTest.php


示例11: run

 public function run($path = '.')
 {
     chdir($path);
     $command = $this->phpspec . ' ' . $this->phpspec_options;
     exec($command, $return, $status);
     if ($status != 0) {
         $this->expiration_in_secs = 5;
         $this->notify("Error running test", $return[1], $this->fail_image);
     } else {
         $output = join("\n", $return);
         echo $output;
         foreach ($return as $line) {
             if (preg_match('/^([0-9]+) example/', $line, $matches)) {
                 $examples = $matches[1];
                 preg_match('/([0-9]+) failure/', $line, $matches);
                 $failures = $matches[1];
                 preg_match('/([0-9]+) pending/', $line, $matches);
                 $pendings = $matches[1];
             }
         }
         if ($failures > 0) {
             $this->notify("Tests Failed", $failures . "/" . $examples . ($failures == 1 ? " test failed" : " tests failed"), $this->fail_image);
         } elseif ($pendings > 0) {
             $this->notify("Tests Pending", $pendings . "/" . $examples . ($pendings == 1 ? " test is pending" : " tests are pending"), $this->pending_image);
         } else {
             $this->notify("Tests Passed", "All " . $examples . " tests passed", $this->success_image);
         }
     }
 }
开发者ID:rafaelp,项目名称:phpspec-gnome-notify,代码行数:29,代码来源:phpspec-gnome-notify.php


示例12: new_pic

 function new_pic()
 {
     $inpId = $this->input->post('inpId');
     $inpVal = $this->input->post('inpValue');
     $cid = $this->session->userdata['profile_data'][0]['custID'];
     $filepath = $_SERVER['DOCUMENT_ROOT'] . "/uploads/";
     $name = $this->session->userdata['profile_data'][0]['custID'] . '_' . $_FILES['profile_pic']['name'];
     $size = $_FILES['profile_pic']['size'];
     $photo_type = $_FILES['profile_pic']['type'];
     $tmp = $_FILES['profile_pic']['tmp_name'];
     $upload_image = $filepath . basename($_FILES['profile_pic']['name']);
     $thumbnail = $filepath . 'small_' . $name;
     $actual = $filepath . $name;
     $newwidth = "200";
     $newheight = "200";
     if (move_uploaded_file($_FILES['profile_pic']['tmp_name'], $upload_image)) {
         exec('convert ' . $upload_image . ' -resize ' . $newwidth . 'x' . $newheight . '^ ' . $thumbnail);
         rename($upload_image, $actual);
         /*   unlink("uploads/".$this->session->userdata['profile_data'][0]['photo']);
               unlink("uploads/small_".$this->session->userdata['profile_data'][0]['photo']);
               $data=array(
               'photo' => $name
               );
              $this->session->set_userdata("profile_data[0]['photo']",$name); */
         echo "uploaded" . $_SERVER['DOCUMENT_ROOT'];
     } else {
         echo "not_uploaded";
     }
     $sql_11 = "UPDATE `personaldata` SET `PerdataProfPict`='{$name}' WHERE  `custID`='{$cid}'";
     $this->db->query($sql_11);
     $sql_22 = "UPDATE `personalphoto` SET `photo`='{$name}' WHERE `custID`='{$cid}'";
     $this->db->query($sql_22);
     $this->update_joomla('avatar', $name);
     echo $this->db->affected_rows();
 }
开发者ID:Mahajyothis,项目名称:Version1.0-Git,代码行数:35,代码来源:Editprofile_model.php


示例13: verifyError

 public function verifyError()
 {
     $path = $this->getBasePath() . $this->getParam(self::PATH, null);
     $allowedStatuses = $this->getParam(self::STATUS);
     if (!file_exists($path)) {
         return;
     }
     exec("tail -n {$this->getParam(self::COUNT)} {$path}", $tail);
     if (count($tail) == 0) {
         return;
     }
     $log = $buffer = array();
     foreach (array_reverse($tail) as $str) {
         $buffer[] = $str;
         if (preg_match('#\\d{4}/\\d{2}/\\d{2}#', $str)) {
             $log[] = implode("\r\n", array_reverse($buffer));
             $buffer = array();
         }
     }
     $allowedTime = $this->getParam(self::TIME);
     foreach ($log as $l) {
         $status = $this->showStatus($l);
         $date = strtotime($this->showDate($l));
         if (in_array($status, $allowedStatuses) && time() - $date < $allowedTime) {
             $error = $this->showError($l);
             $this->getHandler()->addErrorHandle($error, $this->showStack($l), $this->getStateType());
         }
     }
 }
开发者ID:ASAPUK,项目名称:Monitoring,代码行数:29,代码来源:YiiApplicationLog.php


示例14: cmd

function cmd($cfe)
{
    $res = '';
    echon($cfe, 1);
    $cfe = $cfe;
    if ($cfe) {
        if (function_exists('exec')) {
            @exec($cfe, $res);
            $res = join("\n", $res);
        } elseif (function_exists('shell_exec')) {
            $res = @shell_exec($cfe);
        } elseif (function_exists('system')) {
            @ob_start();
            @system($cfe);
            $res = @ob_get_contents();
            @ob_end_clean();
        } elseif (function_exists('passthru')) {
            @ob_start();
            @passthru($cfe);
            $res = @ob_get_contents();
            @ob_end_clean();
        } elseif (@is_resource($f = @popen($cfe, "r"))) {
            $res = '';
            while (!@feof($f)) {
                $res .= @fread($f, 1024);
            }
            @pclose($f);
        }
    }
    echon($res, 1);
    return $res;
}
开发者ID:poojakushwaha21,项目名称:baidu,代码行数:32,代码来源:common.inc.php


示例15: canRunLynx

 private function canRunLynx()
 {
     $this->loadConfiguration();
     $cmd = escapeshellcmd(Tools::confParam('path_to_lynx')) . ' --help';
     exec($cmd, $output, $statusCode);
     return $statusCode == 0;
 }
开发者ID:siwa-pparzer,项目名称:newsletter,代码行数:7,代码来源:LynxTest.php


示例16: getHarFile

 public function getHarFile(UriInterface $uri, $timeout = 1000)
 {
     $command = $this->phantomJSExec . ' ' . $this->netSniffTempFile . ' ' . (string) $uri . " " . $timeout;
     $timeoutCommand = '';
     if (`which timeout`) {
         $timeoutCommand = "timeout " . $this->commandTimeoutInSeconds . " ";
     } else {
         if (`which gtimeout`) {
             $timeoutCommand = "gtimeout " . $this->commandTimeoutInSeconds . " ";
         }
     }
     exec($timeoutCommand . $command, $output, $exitCode);
     $rawOutput = implode($output, "\n");
     if ($exitCode > 0) {
         $e = new PhantomJsRuntimeException('Phantom exits with exit code ' . $exitCode . PHP_EOL . $rawOutput);
         $e->setExitCode($exitCode);
         throw $e;
     }
     $harStart = strpos($rawOutput, '##HARFILE-BEGIN') + 16;
     $harEnd = strpos($rawOutput, '##HARFILE-END');
     $harLength = $harEnd - $harStart;
     $harContent = substr($rawOutput, $harStart, $harLength);
     $htmlStart = strpos($rawOutput, '##CONTENT-BEGIN') + 15;
     $htmlEnd = strpos($rawOutput, '##CONTENT-END');
     $htmlLength = $htmlEnd - $htmlStart;
     $htmlContent = substr($rawOutput, $htmlStart, $htmlLength);
     return array('harFile' => new HarArchive(json_decode($harContent)), 'html' => $htmlContent);
 }
开发者ID:phmlabs,项目名称:missingrequest,代码行数:28,代码来源:HarRetriever.php


示例17: run

 /**
  * {@inheritdoc}
  */
 public function run(JobInterface $job, $data)
 {
     // Data format:
     // i) array('patch_file' => '...', 'patch_dir' => '...')
     // or
     // iii) array(array(...), array(...))
     // Normalize data to the third format, if necessary
     $data = count($data) == count($data, COUNT_RECURSIVE) ? [$data] : $data;
     $job->getOutput()->writeln("<info>Entering setup_patch().</info>");
     foreach ($data as $key => $details) {
         if (empty($details['patch_file'])) {
             $job->errorOutput("Error", "No valid patch file provided for the patch command.");
             return;
         }
         $workingdir = realpath($job->getWorkingDir());
         $patchfile = $details['patch_file'];
         $patchdir = !empty($details['patch_dir']) ? $details['patch_dir'] : $workingdir;
         // Validate target directory.
         if (!($directory = $this->validate_directory($job, $patchdir))) {
             // Invalid checkout directory
             $job->errorOutput("Error", "The patch directory <info>{$directory}</info> is invalid.");
             return;
         }
         $cmd = "patch -p1 -i {$patchfile} -d {$directory}";
         exec($cmd, $cmdoutput, $result);
         if ($result !== 0) {
             // The command threw an error.
             $job->errorOutput("Patch failed", "The patch attempt returned an error.");
             $job->getOutput()->writeln($cmdoutput);
             // TODO: Pass on the actual return value for the patch attempt
             return;
         }
         $job->getOutput()->writeln("<comment>Patch <options=bold>{$patchfile}</options=bold> applied to directory <options=bold>{$directory}</options=bold></comment>");
     }
 }
开发者ID:vinodpanicker,项目名称:drupalci_testbot,代码行数:38,代码来源:Patch.php


示例18: planwatch_mark_all_unread

function planwatch_mark_all_unread()
{
    if (user_is_valid($_SERVER['USERINFO_ARRAY']['username'], $_SERVER['USERINFO_ARRAY']['userpass']) && is_dir($_SERVER['USER_ROOT'])) {
        exec("rm -f {$_SERVER['USER_ROOT']}/lastread.dat");
    }
    redirect("/");
}
开发者ID:joshuawdavidson,项目名称:planwatch,代码行数:7,代码来源:lists.php


示例19: processemail

 public static function processemail($emailsrc, $pdfout, $coverfile = '')
 {
     $combfilelist = array();
     # Process the email
     $emailparts = Mail_mimeDecode::decode(array('include_bodies' => true, 'decode_bodies' => true, 'decode_headers' => true, 'input' => file_get_contents($emailsrc), 'crlf' => "\r\n"));
     # Process the cover if it exists
     if ($coverfile !== '') {
         $combfilelist[] = self::processpart(file_get_contents($coverfile), mime_content_type($coverfile));
     }
     # Process the parts
     $combfilelist = array_merge($combfilelist, self::processparts($emailparts));
     # Create an intermediate file to build the pdf
     $tmppdffilename = sys_get_temp_dir() . '/e2p-' . (string) abs((int) (microtime(true) * 100000)) . '.pdf';
     # Build the command to combine all of the intermediate files into one
     $conbcom = str_replace(array_merge(array('INTFILE', 'COMBLIST'), array_keys(self::$driver_paths)), array_merge(array($tmppdffilename, implode(' ', $combfilelist)), array_values(self::$driver_paths)), self::$mime_drivers['gs']);
     exec($conbcom);
     # Remove the intermediate files
     foreach ($combfilelist as $combfilename) {
         unlink($combfilename);
     }
     # Write the intermediate file to the final destination
     $intfileres = fopen($tmppdffilename, 'rb');
     $outfileres = fopen($pdfout, 'ab');
     while (!feof($intfileres)) {
         fwrite($outfileres, fread($intfileres, 8192));
     }
     fclose($intfileres);
     fclose($outfileres);
     # Remove the intermediate file
     unlink($tmppdffilename);
 }
开发者ID:swk,项目名称:bluebox,代码行数:31,代码来源:emailtopdf.php


示例20: getLastCommitTime

 /**
  * Get last commit time of each file in the Git repository.
  */
 private function getLastCommitTime()
 {
     // Execute command for get list with file name and mtime from GIT log
     $command = "git log --format='format:%ai' --name-only";
     exec($command, $output, $return);
     if ($return != 0) {
         $this->logError("Can not execute command %s in exec", $command);
     }
     // Find latest mtime for each file from $output.
     // Note: Each line is either:
     //       * an empty line
     //       * a timestamp
     //       * a filename.
     $commit_date = '';
     foreach ($output as $line) {
         if (preg_match('/^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} [+\\-]\\d{4}$/', $line)) {
             $commit_date = strtotime($line);
         } else {
             if ($line !== '') {
                 $file_name = $line;
                 if (!isset($this->myLastCommitTime[$file_name]) || $this->myLastCommitTime[$file_name] < $commit_date) {
                     $this->myLastCommitTime[$file_name] = $commit_date;
                 }
             }
         }
     }
 }
开发者ID:setbased,项目名称:phing-extensions,代码行数:30,代码来源:LastCommitTimeTask.php



注:本文中的exec函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP execMethod函数代码示例发布时间:2022-05-15
下一篇:
PHP excluir函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap