⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upload.php

📁 每个RFC 3261信息头有一个相应的存取标识. 但是,许多信息头拥有同样的形式。 例如。To和From的信息头都是由显示名和一个URI组成。 To和From信息头用来管理与处理NameAddr实例的
💻 PHP
字号:
<?php/*  $Id: upload.php,v 1.2 2003/06/20 00:18:30 hpdl Exp $  osCommerce, Open Source E-Commerce Solutions  http://www.oscommerce.com  Copyright (c) 2003 osCommerce  Released under the GNU General Public License*/  class upload {    var $file, $filename, $destination, $permissions, $extensions, $tmp_filename, $message_location;    function upload($file = '', $destination = '', $permissions = '777', $extensions = '') {      $this->set_file($file);      $this->set_destination($destination);      $this->set_permissions($permissions);      $this->set_extensions($extensions);      $this->set_output_messages('direct');      if (tep_not_null($this->file) && tep_not_null($this->destination)) {        $this->set_output_messages('session');        if ( ($this->parse() == true) && ($this->save() == true) ) {          return true;        } else {// self destruct          $this = null;          return false;        }      }    }    function parse() {      global $messageStack;      if (isset($_FILES[$this->file])) {        $file = array('name' => $_FILES[$this->file]['name'],                      'type' => $_FILES[$this->file]['type'],                      'size' => $_FILES[$this->file]['size'],                      'tmp_name' => $_FILES[$this->file]['tmp_name']);      } elseif (isset($GLOBALS['HTTP_POST_FILES'][$this->file])) {        global $HTTP_POST_FILES;        $file = array('name' => $HTTP_POST_FILES[$this->file]['name'],                      'type' => $HTTP_POST_FILES[$this->file]['type'],                      'size' => $HTTP_POST_FILES[$this->file]['size'],                      'tmp_name' => $HTTP_POST_FILES[$this->file]['tmp_name']);      } else {        $file = array('name' => (isset($GLOBALS[$this->file . '_name']) ? $GLOBALS[$this->file . '_name'] : ''),                      'type' => (isset($GLOBALS[$this->file . '_type']) ? $GLOBALS[$this->file . '_type'] : ''),                      'size' => (isset($GLOBALS[$this->file . '_size']) ? $GLOBALS[$this->file . '_size'] : ''),                      'tmp_name' => (isset($GLOBALS[$this->file]) ? $GLOBALS[$this->file] : ''));      }      if ( tep_not_null($file['tmp_name']) && ($file['tmp_name'] != 'none') && is_uploaded_file($file['tmp_name']) ) {        if (sizeof($this->extensions) > 0) {          if (!in_array(strtolower(substr($file['name'], strrpos($file['name'], '.')+1)), $this->extensions)) {            if ($this->message_location == 'direct') {              $messageStack->add(ERROR_FILETYPE_NOT_ALLOWED, 'error');            } else {              $messageStack->add_session(ERROR_FILETYPE_NOT_ALLOWED, 'error');            }            return false;          }        }        $this->set_file($file);        $this->set_filename($file['name']);        $this->set_tmp_filename($file['tmp_name']);        return $this->check_destination();      } else {        if ($this->message_location == 'direct') {          $messageStack->add(WARNING_NO_FILE_UPLOADED, 'warning');        } else {          $messageStack->add_session(WARNING_NO_FILE_UPLOADED, 'warning');        }        return false;      }    }    function save() {      global $messageStack;      if (substr($this->destination, -1) != '/') $this->destination .= '/';      if (move_uploaded_file($this->file['tmp_name'], $this->destination . $this->filename)) {        chmod($this->destination . $this->filename, $this->permissions);        if ($this->message_location == 'direct') {          $messageStack->add(SUCCESS_FILE_SAVED_SUCCESSFULLY, 'success');        } else {          $messageStack->add_session(SUCCESS_FILE_SAVED_SUCCESSFULLY, 'success');        }        return true;      } else {        if ($this->message_location == 'direct') {          $messageStack->add(ERROR_FILE_NOT_SAVED, 'error');        } else {          $messageStack->add_session(ERROR_FILE_NOT_SAVED, 'error');        }        return false;      }    }    function set_file($file) {      $this->file = $file;    }    function set_destination($destination) {      $this->destination = $destination;    }    function set_permissions($permissions) {      $this->permissions = octdec($permissions);    }    function set_filename($filename) {      $this->filename = $filename;    }    function set_tmp_filename($filename) {      $this->tmp_filename = $filename;    }    function set_extensions($extensions) {      if (tep_not_null($extensions)) {        if (is_array($extensions)) {          $this->extensions = $extensions;        } else {          $this->extensions = array($extensions);        }      } else {        $this->extensions = array();      }    }    function check_destination() {      global $messageStack;      if (!is_writeable($this->destination)) {        if (is_dir($this->destination)) {          if ($this->message_location == 'direct') {            $messageStack->add(sprintf(ERROR_DESTINATION_NOT_WRITEABLE, $this->destination), 'error');          } else {            $messageStack->add_session(sprintf(ERROR_DESTINATION_NOT_WRITEABLE, $this->destination), 'error');          }        } else {          if ($this->message_location == 'direct') {            $messageStack->add(sprintf(ERROR_DESTINATION_DOES_NOT_EXIST, $this->destination), 'error');          } else {            $messageStack->add_session(sprintf(ERROR_DESTINATION_DOES_NOT_EXIST, $this->destination), 'error');          }        }        return false;      } else {        return true;      }    }    function set_output_messages($location) {      switch ($location) {        case 'session':          $this->message_location = 'session';          break;        case 'direct':        default:          $this->message_location = 'direct';          break;      }    }  }?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -