PHP模拟asp中response类实现方法

前端之家收集整理的这篇文章主要介绍了PHP模拟asp中response类实现方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP模拟asp中response类的方法分享给大家供大家参考。具体如下:

习惯了asp或是asp.net开发的人,他们会经常用到response类,这个类用于处理客户端的响应,可以实现跳转,输出功能. 在PHP中没有这个类,但是确实可以通过函数来模拟这个类.

headers[$key] = $value; } public function removeHeader($key) { if (isset($this->headers[$key])) { unset($this->headers[$key]); } } public function redirect($url) { header('Location: ' . $url); exit; } public function setOutput($output,$level = 0) { $this->output = $output; $this->level = $level; } private function compress($data,$level = 0) { if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip') !== FALSE)) { $encoding = 'gzip'; } if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'],'x-gzip') !== FALSE)) { $encoding = 'x-gzip'; } if (!isset($encoding)) { return $data; } if (!extension_loaded('zlib') || ini_get('zlib.output_compression')) { return $data; } if (headers_sent()) { return $data; } if (connection_status()) { return $data; } $this->addHeader('Content-Encoding',$encoding); return gzencode($data,(int)$level); } public function output() { if ($this->level) { $ouput = $this->compress($this->output,$this->level); } else { $ouput = $this->output; } if (!headers_sent()) { foreach ($this->headers as $key => $value) { header($key . ': ' . $value); } } echo $ouput; } }

希望本文所述对大家的PHP程序设计有所帮助。

原文链接:/php/21317.html

猜你在找的PHP相关文章