function SaveHTTPFile($fFileHTTPPath, $fFileSavePath, $fFileSaveName) { //记录程序开始的时间 $BeginTime = getmicrotime(); //取得文件名 $fFileSaveName = $fFileSavePath . "/" . $fFileSaveName; make_dir(dirname($fFileSaveName)); //取得文件的内容 ob_start(); readfile($fFileHTTPPath); $img = ob_get_contents(); ob_end_clean(); //$size = strlen($img); //保存到本地 $fp2 = @fopen($fFileSaveName, "a"); fwrite($fp2, $img); fclose($fp2); /*加水印代码*/ require_once ROOT_PATH . 'includes/cls_image.php'; $ext = get_extension($fFileSaveName); $fFileSaveName = convert_GIF_to_JPG($fFileSaveName); if (CopyFiles($fFileSaveName)) { $image = new cls_image(); $image->add_watermark($fFileSaveName, '', '../../../../' . $GLOBALS['waterMark']['watermark'], $GLOBALS['waterMark']['watermark_place'], $GLOBALS['waterMark']['watermark_alpha']); } if ($ext == 'gif' || $ext == '.gif') { back_JPG_to_GIF($fFileSaveName); } /*加水印代码--end*/ //记录程序运行结束的时间 $EndTime = getmicrotime(); //返回运行时间 return $EndTime - $BeginTime; }
function MoreFileUpload($resourceType, $currentFolder, $sCommand) { if (!isset($_FILES)) { global $_FILES; } global $Config; $sErrorNumber = '0'; $sFileName = ''; if (is_array($_FILES['NewFile']['name'])) { foreach ($_FILES['NewFile']['name'] as $key => $value) { if (!empty($_FILES['NewFile']['tmp_name'][$key])) { // Map the virtual path to the local server path. $sServerDir = ServerMapFolder($resourceType, $currentFolder, $sCommand); // Get the uploaded file name. $sFileName = $_FILES['NewFile']['name'][$key]; $sFileName = SanitizeFileName($sFileName); $sOriginalFileName = $sFileName; // Get the extension. $sExtension = substr($sFileName, strrpos($sFileName, '.') + 1); $sExtension = strtolower($sExtension); if (isset($Config['SecureImageUploads'])) { if (($isImageValid = IsImageValid($_FILES['NewFile']['tmp_name'][$key], $sExtension)) === false) { $sErrorNumber = '202'; } } if (isset($Config['HtmlExtensions'])) { if (!IsHtmlExtension($sExtension, $Config['HtmlExtensions']) && ($detectHtml = DetectHtml($_FILES['NewFile']['tmp_name'][$key])) === true) { $sErrorNumber = '202'; } } // Check if it is an allowed extension. if (!$sErrorNumber && IsAllowedExt($sExtension, $resourceType)) { $iCounter = 0; while (true) { $sFilePath = $sServerDir . $sFileName; if (is_file($sFilePath)) { $iCounter++; $sFileName = RemoveExtension($sOriginalFileName) . '(' . $iCounter . ').' . $sExtension; $sErrorNumber = '201'; } else { move_uploaded_file($_FILES['NewFile']['tmp_name'][$key], $sFilePath); //判断并给符合条件图片加上水印 if ($sExtension == 'jpg' || $sExtension == 'jpeg' || $sExtension == 'png' || $sExtension == 'gif' || $sExtension == 'bmp') { require_once ROOT_PATH . '/includes/cls_image.php'; $image = new cls_image($GLOBALS['_CFG']['bgcolor']); require_once ROOT_PATH . '/includes/my_func.php'; $sFilePath = convert_GIF_to_JPG($sFilePath); if (CopyFiles($sFilePath, $sExtension)) { if (intval($GLOBALS['_CFG']['watermark_place']) > 0 && !empty($GLOBALS['_CFG']['watermark'])) { $image->add_watermark($sFilePath, '', '../../../../../' . $GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']); } } if ($sExtension == 'gif' || $sExtension == '.gif') { back_JPG_to_GIF($sFilePath); } } if (is_file($sFilePath)) { if (isset($Config['ChmodOnUpload']) && !$Config['ChmodOnUpload']) { break; } $permissions = 0777; if (isset($Config['ChmodOnUpload']) && $Config['ChmodOnUpload']) { $permissions = $Config['ChmodOnUpload']; } $oldumask = umask(0); chmod($sFilePath, $permissions); umask($oldumask); } break; } } if (file_exists($sFilePath)) { //previous checks failed, try once again if (isset($isImageValid) && $isImageValid === -1 && IsImageValid($sFilePath, $sExtension) === false) { @unlink($sFilePath); $sErrorNumber = '202'; } else { if (isset($detectHtml) && $detectHtml === -1 && DetectHtml($sFilePath) === true) { @unlink($sFilePath); $sErrorNumber = '202'; } } } } else { $sErrorNumber = '202'; } if ($sErrorNumber == '202') { $sFileUrl = CombinePaths(GetResourceTypePath($resourceType, $sCommand), $currentFolder); $sFileUrl = CombinePaths($sFileUrl, $sFileName); SendUploadResults($sErrorNumber, $sFileUrl, $sFileName); } } else { continue; } } $sFileUrl = CombinePaths(GetResourceTypePath($resourceType, $sCommand), $currentFolder); $sFileUrl = CombinePaths($sFileUrl, $sFileName); SendUploadResults($sErrorNumber, $sFileUrl, $sFileName, $key); } else { $sErrorNumber = '202'; $sFileUrl = CombinePaths(GetResourceTypePath($resourceType, $sCommand), $currentFolder); $sFileUrl = CombinePaths($sFileUrl, $sFileName); SendUploadResults($sErrorNumber, $sFileUrl, $sFileName); } exit; }