摘要:
问题 希望将移动设备或平板设备浏览器重定向到专门为这些设备优化的一个替代网站或替代内容。 解决方案 使用get_browser()返回的对象来确定这是否是一个移动浏览器: if($browser->ismobilebrower){ // 输出移动设备布局 }else{ // 输出桌面计算机布局 } 阅读全文
摘要:
问题 希望PHP与Apache请求进程的其他部分通信。这包括在access_log中设置变量 解决方案 使用apache_note(): // 获得值 $session = apache_note('session'); // 设置值 apache_note('session', $session) 阅读全文
摘要:
根据环境变量调整行为 $version =(isset($_SERVER['SITE_VERSION']) ? $_SERVER['SITE_VERSION'] : 'guest'); //如果用户未能正确登录,重定向到http://guest.example.com if('members' == 阅读全文
摘要:
问题 希望得到一个环境变量的值。 解决方案 使用getenv(): $path = getenv('PATH'); 如果将PHP作为一个ISAPI模块运行,getenv()数则不可用。 阅读全文
摘要:
问题 希望向支持自动解压缩的浏览器发送压缩的内容。 解决方案 将以下设置增加到php.ini文件: zlib.output_compression=1 浏览器通过Accept-Encoding首部告诉服务器它可以接受压缩的响应。如果一个浏览器发送了Accept-Encoding:gzip或Accep 阅读全文
摘要:
问题 希望在发送首部或cookie之前就开始生成输出。 解决方案 在页面最上面调用ob_start(),另外在最下面调用ob_end_flush()。这样一来,生成输出的命令和发送首部的命令就可以混杂在一起。调用ob_end_flush()之前不会发送输出。 // ob_start(); I hav 阅读全文
摘要:
问题 希望强制将输出发送到浏览器。例如,希望在完成一个可能很慢的数据库查询之前为用户提供一个状态更新。 解决方案 使用flush(): print 'Finding identical snowfakes...'; flush(); $sth = $dbh->query('SELECT shape, 阅读全文
摘要:
问题 希望将用户自动重定向到一个新的URL。例如,成功保存表单数据后,希望将用户重定向到一个确认页面,确认数据已经保存。 解决方案 输出后,使用header()发送一个Location首部并指定新URL,然后调用exit(),以避免再输出其他内容: header('Location: http:// 阅读全文
摘要:
问题 希望显式设置HTTP状态码。例如,希望指示用户没有得到授权来查看这个页面,或者这个页面未找到。 解决方案 使用http_response_code()设置响应: http_response_code(401); 使用http_response_code()时要提供状态码,PHP会负责设置适当的 阅读全文