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

📄 value.php.tmp

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 TMP
字号:
<?php/** * This file contains the code for converting values between SOAP and PHP. * * PHP versions 4 and 5 * * LICENSE: This source file is subject to version 2.02 of the PHP license, * that is bundled with this package in the file LICENSE, and is available at * through the world-wide-web at http://www.php.net/license/2_02.txt.  If you * did not receive a copy of the PHP license and are unable to obtain it * through the world-wide-web, please send a note to license@php.net so we can * mail you a copy immediately. * * @category   Web Services * @package    SOAP * @author     Dietrich Ayala <dietrich@ganx4.com> Original Author * @author     Shane Caraveo <Shane@Caraveo.com>   Port to PEAR and more * @author     Chuck Hagenbuch <chuck@horde.org>   Maintenance * @author     Jan Schneider <jan@horde.org>       Maintenance * @copyright  2003-2005 The PHP Group * @license    http://www.php.net/license/2_02.txt  PHP License 2.02 * @link       http://pear.php.net/package/SOAP */require_once 'SOAP/Base.php';/** * SOAP::Value * * This class converts values between PHP and SOAP. * * Originally based on SOAPx4 by Dietrich Ayala * http://dietrich.ganx4.com/soapx4 * * @access  public * @package SOAP * @author  Shane Caraveo <shane@php.net> Conversion to PEAR and updates * @author  Dietrich Ayala <dietrich@ganx4.com> Original Author */class SOAP_Value{    /**     * @var string     */    var $value = null;    /**     * @var string     */    var $name = '';    /**     * @var string     */    var $type = '';    /**     * Namespace     *     * @var string     */    var $namespace = '';    var $type_namespace = '';    var $attributes = array();    /**     * @var string     */    var $arrayType = '';    var $options = array();    var $nqn;    var $tqn;    /**     * Constructor.     *     * @param string $name       Name of the SOAP value {namespace}name.     * @param mixed $type        SOAP value {namespace}type. Determined     *                           automatically if not set.     * @param mixed $value       Value to set.     * @param array $attributes  Attributes.     */    function SOAP_Value($name = '', $type = false, $value = null,                        $attributes = array())    {        // Detect type if not passed.        $this->nqn =& new QName($name);        $this->name = $this->nqn->name;        $this->namespace = $this->nqn->namespace;        $this->tqn =& new QName($type);        $this->type = $this->tqn->name;        $this->type_prefix = $this->tqn->ns;        $this->type_namespace = $this->tqn->namespace;        $this->value =& $value;        $this->attributes = $attributes;    }    /**     * Serializes this value.     *     * @param SOAP_Base $serializer  A SOAP_Base instance or subclass to     *                               serialize with.     *     * @return string  XML representation of $this.     */    function serialize(&$serializer)    {        return $serializer->_serializeValue($this->value,                                            $this->name,                                            $this->type,                                            $this->namespace,                                            $this->type_namespace,                                            $this->options,                                            $this->attributes,                                            $this->arrayType);    }}/** * This class converts values between PHP and SOAP. It is a simple wrapper * around SOAP_Value, adding support for SOAP actor and mustunderstand * parameters. * * Originally based on SOAPx4 by Dietrich Ayala * http://dietrich.ganx4.com/soapx4 * * @access  public * @package SOAP * @author  Shane Caraveo <shane@php.net> Conversion to PEAR and updates * @author  Dietrich Ayala <dietrich@ganx4.com> Original Author */class SOAP_Header extends SOAP_Value{    /**     * Constructor     *     * @param string $name             Name of the SOAP value {namespace}name.     * @param mixed $type              SOAP value {namespace}type. Determined     *                                 automatically if not set.     * @param mixed $value             Value to set     * @param integer $mustunderstand  Zero or one.     * @param mixed $attributes        Attributes.     */    function SOAP_Header($name = '', $type, $value, $mustunderstand = 0,                         $attributes = array())    {        if (!is_array($attributes)) {            $actor = $attributes;            $attributes = array();        }        parent::SOAP_Value($name, $type, $value, $attributes);        if (isset($actor)) {            $this->attributes['SOAP-ENV:actor'] = $actor;        } elseif (!isset($this->attributes['SOAP-ENV:actor'])) {            $this->attributes['SOAP-ENV:actor'] = 'http://schemas.xmlsoap.org/soap/actor/next';        }        $this->attributes['SOAP-ENV:mustUnderstand'] = (int)$mustunderstand;    }}/** * This class handles MIME attachements per W3C's Note on Soap Attachements at * http://www.w3.org/TR/SOAP-attachments * * @access  public * @package SOAP * @author  Shane Caraveo <shane@php.net> Conversion to PEAR and updates */class SOAP_Attachment extends SOAP_Value{    /**     * Constructor.     *     * @param string $name      Name of the SOAP value <value_name>     * @param string $type      The attachment's MIME type.     * @param string $filename  The attachment's file name. Ignored if $file     *                          is provide.     * @param string $file      The attachment data.     */    function SOAP_Attachment($name = '', $type = 'application/octet-stream',                             $filename, $file = null)    {        parent::SOAP_Value($name, null, null);        if (!isset($GLOBALS['SOAP_options']['Mime'])) {            $this->options['attachment'] = PEAR::raiseError('Mail_mime is not installed, unable to support SOAP Attachements');            return;        }        $filedata = ($file === null) ? $this->_file2str($filename) : $file;        $filename = basename($filename);        if (PEAR::isError($filedata)) {            $this->options['attachment'] = $filedata;            return;        }        $cid = md5(uniqid(time()));        $this->attributes['href'] = 'cid:' . $cid;         $this->options['attachment'] = array('body' => $filedata,                                             'disposition' => $filename,                                             'content_type' => $type,                                             'encoding' => 'base64',                                             'cid' => $cid);    }    /**     * Returns the contents of the given file name as string.     *     * @access private     *     * @param string $file_name  The file location.     *     * @return string  The file data or a PEAR_Error.     */    function _file2str($file_name)    {        if (!is_readable($file_name)) {            return PEAR::raiseError('File is not readable: ' . $file_name);        }        if (function_exists('file_get_contents')) {            return file_get_contents($file_name);        }        if (!$fd = fopen($file_name, 'rb')) {            return PEAR::raiseError('Could not open ' . $file_name);        }        $cont = fread($fd, filesize($file_name));        fclose($fd);        return $cont;    }}

⌨️ 快捷键说明

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