当前位置: 首页>>代码示例>>PHP>>正文


PHP File::getModificationTime方法代码示例

本文整理汇总了PHP中Bitrix\Main\IO\File::getModificationTime方法的典型用法代码示例。如果您正苦于以下问题:PHP File::getModificationTime方法的具体用法?PHP File::getModificationTime怎么用?PHP File::getModificationTime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Bitrix\Main\IO\File的用法示例。


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

示例1: ViewByUser


//.........这里部分代码省略.........
             return false;
         }
     } else {
         if (!$fastDownload) {
             $src = new \Bitrix\Main\Web\HttpClient();
         } elseif (intval($arFile['HANDLER_ID']) > 0) {
             $fromClouds = true;
         }
     }
     $APPLICATION->RestartBuffer();
     while (ob_end_clean()) {
     }
     $cur_pos = 0;
     $filesize = $arFile["FILE_SIZE"] > 0 ? $arFile["FILE_SIZE"] : $arFile["size"];
     $size = $filesize - 1;
     $p = strpos($_SERVER["HTTP_RANGE"], "=");
     if (intval($p) > 0) {
         $bytes = substr($_SERVER["HTTP_RANGE"], $p + 1);
         $p = strpos($bytes, "-");
         if ($p !== false) {
             $cur_pos = floatval(substr($bytes, 0, $p));
             $size = floatval(substr($bytes, $p + 1));
             if ($size <= 0) {
                 $size = $filesize - 1;
             }
             if ($cur_pos > $size) {
                 $cur_pos = 0;
                 $size = $filesize - 1;
             }
         }
     }
     if ($arFile["tmp_name"] != '') {
         $tmpFile = new IO\File($arFile["tmp_name"]);
         $filetime = $tmpFile->getModificationTime();
     } else {
         $filetime = intval(MakeTimeStamp($arFile["TIMESTAMP_X"]));
     }
     if ($_SERVER["REQUEST_METHOD"] == "HEAD") {
         CHTTP::SetStatus("200 OK");
         header("Accept-Ranges: bytes");
         header("Content-Type: " . $content_type);
         header("Content-Length: " . ($size - $cur_pos + 1));
         if ($filetime > 0) {
             header("Last-Modified: " . date("r", $filetime));
         }
     } else {
         $lastModified = '';
         if ($cache_time > 0) {
             //Handle ETag
             $ETag = md5($filename . $filesize . $filetime);
             if (array_key_exists("HTTP_IF_NONE_MATCH", $_SERVER) && $_SERVER['HTTP_IF_NONE_MATCH'] === $ETag) {
                 CHTTP::SetStatus("304 Not Modified");
                 header("Cache-Control: private, max-age=" . $cache_time . ", pre-check=" . $cache_time);
                 die;
             }
             header("ETag: " . $ETag);
             //Handle Last Modified
             if ($filetime > 0) {
                 $lastModified = gmdate('D, d M Y H:i:s', $filetime) . ' GMT';
                 if (array_key_exists("HTTP_IF_MODIFIED_SINCE", $_SERVER) && $_SERVER['HTTP_IF_MODIFIED_SINCE'] === $lastModified) {
                     CHTTP::SetStatus("304 Not Modified");
                     header("Cache-Control: private, max-age=" . $cache_time . ", pre-check=" . $cache_time);
                     die;
                 }
             }
         }
开发者ID:nycmic,项目名称:bittest,代码行数:67,代码来源:file.php


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