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


PHP Safe::move_uploaded_file方法代码示例

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


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

示例1: outputJSON

    if (!Files::is_authorized($_FILES[$name]['name'])) {
        Safe::header('Status: 415 Unsupported media', TRUE, 415);
        outputJSON(i18n::s('Unsupported filetype uploaded.'));
    }
    // Check filesize
    /*if($_FILES['SelectedFile']['size'] > Safe::get_cfg_var('upload_max_filesize')){
          outputJSON('File uploaded exceeds maximum upload size.');
      }*/
    // Check if the file exists
    if (file_exists(UPLOAD_PATH . $_FILES[$name]['name'])) {
        Safe::header('Status: 500 Internal server error', TRUE, 500);
        outputJSON(i18n::s('File with that name already exists in temporary folder.'));
    }
    // Upload file
    $path = $context['path_to_root'] . UPLOAD_PATH . $_FILES[$name]['name'];
    if (!Safe::move_uploaded_file($_FILES[$name]['tmp_name'], $path)) {
        Safe::header('Status: 500 Internal server error', TRUE, 500);
        outputJSON(i18n::s('Error uploading file - check destination is writeable.'));
    } else {
        // memorize info about uploaded file
        $_SESSION['last_uploaded'][$name] = $_FILES[$name];
        $_SESSION['last_uploaded'][$name]['tmp_name'] = $path;
        // @see safe::is_uploaded_file()
        $_SESSION['last_uploaded']['pathes'][] = $path;
        $preview = Files::preview($path, $name);
        // Success!
        outputJSON('File uploaded successfully to "' . UPLOAD_PATH . $_FILES[$name]['name'] . '".', 'success', $preview);
    }
} elseif ($action === 'destroy') {
    if ($name === "all") {
        foreach ($_SESSION['last_uploaded'] as $up) {
开发者ID:rair,项目名称:yacs,代码行数:31,代码来源:upload.ajax.php

示例2: upload

 /**
  * process uploaded file
  *
  * This function processes files from the temporary directory, and put them at their definitive
  * place.
  *
  * It returns FALSE if there is a disk error, or if some virus has been detected, or if
  * the operation fails for some other reason (e.g., file size).
  *
  * @param array usually, $_FILES['upload']
  * @param string target location for the file
  * @param mixed reference to the target anchor, of a function to parse every file individually
  * @return mixed file name or array of file names or FALSE if an error has occured
  */
 public static function upload($input, $file_path, $target = NULL, $overlay = NULL)
 {
     global $context, $_REQUEST;
     // size exceeds php.ini settings -- UPLOAD_ERR_INI_SIZE
     if (isset($input['error']) && $input['error'] == 1) {
         Logger::error(i18n::s('The size of this file is over limit.'));
     } elseif (isset($input['error']) && $input['error'] == 2) {
         Logger::error(i18n::s('The size of this file is over limit.'));
     } elseif (isset($input['error']) && $input['error'] == 3) {
         Logger::error(i18n::s('No file has been transmitted.'));
     } elseif (isset($input['error']) && $input['error'] == 4) {
         Logger::error(i18n::s('No file has been transmitted.'));
     } elseif (!$input['size']) {
         Logger::error(i18n::s('No file has been transmitted.'));
     }
     // do we have a file?
     if (!isset($input['name']) || !$input['name'] || $input['name'] == 'none') {
         return FALSE;
     }
     // access the temporary uploaded file
     $file_upload = $input['tmp_name'];
     // $_FILES transcoding to utf8 is not automatic
     $input['name'] = utf8::encode($input['name']);
     // enhance file name
     $file_name = $input['name'];
     $file_extension = '';
     $position = strrpos($input['name'], '.');
     if ($position !== FALSE) {
         $file_name = substr($input['name'], 0, $position);
         $file_extension = strtolower(substr($input['name'], $position + 1));
     }
     $input['name'] = $file_name;
     if ($file_extension) {
         $input['name'] .= '.' . $file_extension;
     }
     // ensure we have a file name
     $file_name = utf8::to_ascii($input['name']);
     // uploads are not allowed
     if (!Surfer::may_upload()) {
         Logger::error(i18n::s('You are not allowed to perform this operation.'));
     } elseif (!Files::is_authorized($input['name'])) {
         Logger::error(i18n::s('This type of file is not allowed.'));
     } elseif ($file_path && !Safe::is_uploaded_file($file_upload)) {
         Logger::error(i18n::s('Possible file attack.'));
     } else {
         // create folders
         if ($file_path) {
             Safe::make_path($file_path);
         }
         // sanity check
         if ($file_path && $file_path[strlen($file_path) - 1] != '/') {
             $file_path .= '/';
         }
         // move the uploaded file
         if ($file_path && !Safe::move_uploaded_file($file_upload, $context['path_to_root'] . $file_path . $file_name)) {
             Logger::error(sprintf(i18n::s('Impossible to move the upload file to %s.'), $file_path . $file_name));
         } else {
             // process the file where it is
             if (!$file_path) {
                 $file_path = str_replace($context['path_to_root'], '', dirname($file_upload));
                 $file_name = basename($file_upload);
             }
             // check against viruses
             $result = Files::has_virus($context['path_to_root'] . $file_path . '/' . $file_name);
             // no virus has been found in this file
             if ($result == 'N') {
                 $context['text'] .= Skin::build_block(i18n::s('No virus has been found.'), 'note');
             }
             // this file has been infected!
             if ($result == 'Y') {
                 // delete this file immediately
                 Safe::unlink($file_path . '/' . $file_name);
                 Logger::error(i18n::s('This file has been infected by a virus and has been rejected!'));
                 return FALSE;
             }
             // explode a .zip file
             include_once $context['path_to_root'] . 'shared/zipfile.php';
             if (preg_match('/\\.zip$/i', $file_name) && isset($_REQUEST['explode_files'])) {
                 $zipfile = new zipfile();
                 // check files extracted from the archive file
                 function explode_callback($name)
                 {
                     global $context;
                     // reject all files put in sub-folders
                     if (($path = substr($name, strlen($context['uploaded_path'] . '/'))) && strpos($path, '/') !== FALSE) {
                         Safe::unlink($name);
//.........这里部分代码省略.........
开发者ID:rair,项目名称:yacs,代码行数:101,代码来源:files.php

示例3: elseif

 $temporary = $_FILES['upload']['tmp_name'];
 $name = $_FILES['upload']['name'];
 // zero bytes transmitted
 $_REQUEST['file_size'] = $_FILES['upload']['size'];
 if (!$_FILES['upload']['size']) {
     Logger::error(i18n::s('Nothing has been received.'));
 } elseif (!Safe::is_uploaded_file($temporary)) {
     Logger::error(i18n::s('Possible file attack.'));
 }
 // not yet a success
 $success = FALSE;
 // ensure file exists
 if (!is_readable($temporary)) {
     Logger::error(sprintf(i18n::s('Impossible to read %s.'), basename($temporary)));
 } elseif (!preg_match('/\\.(bz2*|tar\\.gz|tgz|zip)$/i', $name)) {
     $success = Safe::move_uploaded_file($temporary, $name);
 } elseif (isset($name) && preg_match('/\\.zip$/i', $name)) {
     include_once '../shared/zipfile.php';
     $zipfile = new zipfile();
     // extract archive components and save them in mentioned directory
     if ($count = $zipfile->explode($temporary, $context['path_to_root'])) {
         $context['text'] .= '<p>' . sprintf(i18n::s('%d files have been extracted.'), $count) . "</p>\n";
         $success = TRUE;
     } else {
         Logger::error(sprintf(i18n::s('Nothing has been extracted from %s.'), $name));
     }
     // ensure we have the external library to explode other kinds of archives
 } elseif (!is_readable('../included/tar.php')) {
     Logger::error(i18n::s('Impossible to extract files.'));
 } else {
     include_once $context['path_to_root'] . 'included/tar.php';
开发者ID:rair,项目名称:yacs,代码行数:31,代码来源:upload.php


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