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


PHP RequestUtil::VALIDATE_FILE_UPLOAD方法代码示例

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


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

示例1: GetFileUpload

 /**
  * Returns a form upload as a FileUpload object.  This function throws an exeption on fail
  * with details, so it is recommended to use try/catch when calling this function
  *
  * @param	string $fieldname name of the html form field
  * @param	bool $b64encode true to base64encode file data (default false)
  * @param	bool $ignore_empty true to not throw exception if form fields doesn't contain a file (default false)
  * @param	int $max_kb maximum size allowed for upload (default unlimited)
  * @param	array $ok_types if array is provided, only files with those Extensions will be allowed (default all)
  * @return   FileUpload object (or null if $ignore_empty = true and there is no file data)
  */
 public static function GetFileUpload($fieldname, $ignore_empty = false, $max_kb = 0, $ok_types = null)
 {
     // make sure there is actually a file upload
     if (!isset($_FILES[$fieldname])) {
         // this means the form field wasn't present which is generally an error
         // however if ignore is specified, then return empty string
         if ($ignore_empty) {
             return null;
         }
         throw new Exception("\$_FILES['" . $fieldname . "'] is empty.  Did you forget to add enctype='multipart/form-data' to your form code?");
     }
     // make sure a file was actually uploaded, otherwise return null
     if ($_FILES[$fieldname]['error'] == 4) {
         return;
     }
     // get the upload ref
     $upload = $_FILES[$fieldname];
     // make sure there were no errors during upload, but ignore case where
     if ($upload['error']) {
         $error_codes[0] = "The file uploaded with success.";
         $error_codes[1] = "The uploaded file exceeds the upload_max_filesize directive in php.ini.";
         $error_codes[2] = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form.";
         $error_codes[3] = "The uploaded file was only partially uploaded.";
         $error_codes[4] = "No file was uploaded.";
         throw new Exception("Error uploading file: " . $error_codes[$upload['error']]);
     }
     // backwards compatibility
     if (self::$TestMode) {
         self::$VALIDATE_FILE_UPLOAD = false;
     }
     // make sure this is a legit file request
     if (self::$VALIDATE_FILE_UPLOAD && is_uploaded_file($upload['tmp_name']) == false) {
         throw new Exception("Unable to access this upload: " . $fieldname);
     }
     // get the filename and Extension
     $tmp_path = $upload['tmp_name'];
     $info = pathinfo($upload['name']);
     require_once "FileUpload.php";
     $fupload = new FileUpload();
     $fupload->Name = $info['basename'];
     $fupload->Size = $upload['size'];
     $fupload->Type = $upload['type'];
     $fupload->Extension = strtolower($info['extension']);
     if ($ok_types && !in_array($fupload->Extension, $ok_types)) {
         throw new Exception("The file '" . htmlentities($fupload->Name) . "' is not a type that is allowed.  Allowed file types are: " . implode(", ", $ok_types) . ".");
     }
     if ($max_kb && $fupload->Size / 1024 > $max_kb) {
         throw new Exception("The file '" . htmlentities($fupload->Name) . "' is to large.  Maximum allowed size is " . number_format($max_kb / 1024, 2) . "Mb");
     }
     // open the file and read the entire contents
     $fh = fopen($tmp_path, "r");
     $fupload->Data = fread($fh, filesize($tmp_path));
     fclose($fh);
     return $fupload;
 }
开发者ID:hpazevedo,项目名称:Teste-BDR,代码行数:66,代码来源:RequestUtil.php


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