再见西城 发表于 2015-2-4 00:15:26

PHP教程之利用 php 4 减速 web 传输

第1步环境配置好了,你算了进了1小步了,那么第2步呢 就是调出第1个程序 一般都是用hello world,视频教程里面我都做了,hello worldweb   <?
/***************************************
** Title.........: PHP4 HTTP Compression Speeds up the Web
** Version.......: 1.10
** Author........: catoc <catoc@163.net>
** Filename......: gzdoc.php
** Last changed..: 25/08/2000
** Requirments...: PHP4 >= 4.0.1
**               PHP was configured with --with-zlib[=DIR]
** Notes.........: Dynamic Content Acceleration compresses
**               the data transmission data on the fly
**               code by sun jin hu (catoc) <catoc@163.net>
**               Most newer browsers since 1998/1999 have
**               been equipped to support the HTTP 1.1
**               standard known as "content-encoding."
**               Essentially the browser indicates to the
**               server that it can accept "content encoding"
**               and if the server is capable it will then
**               compress the data and transmit it. The
**               browser decompresses it and then renders
**               the page.
** Useage........:
**               No space before the beginning of the first '<?' tag.
**               ------------Start of file----------
**               |<?
**               | include('gzdoc.php');
**               | print "Start output !!";
**               |?>
**               |<HTML>
**               |... the page ...
**               |</HTML>
**               |<?
**               | gzdocout();
**               |?>
**               -------------End of file-----------
***************************************/
ob_start();
ob_implicit_flush(0);
function GetHeader(){
    $headers = getallheaders();
    while (list($header, $value) = each($headers)) {
      $Message .= "$header: $value<br>\n";
    }
    return $Message;
}
function CheckCanGzip(){
    global $HTTP_ACCEPT_ENCODING, $PHP_SELF, $Wget, $REMOTE_ADDR, $S_UserName;
    if (connection_timeout() || connection_aborted()){
      return 0;
    }
    if ((strpos('catoc'.$HTTP_ACCEPT_ENCODING, 'gzip')) || $Wget == 'Y'){
      if (strpos('catoc'.$HTTP_ACCEPT_ENCODING, 'x-gzip')){
            $ENCODING = "x-gzip";
            $Error_Msg = str_replace('<br>','',GetHeader());
            $Error_Msg .= "Time: ".date("Y-m-d H:i:s")."\n";
            $Error_Msg .= "Remote-Address: ".$REMOTE_ADDR."\n";
            //mail('your@none.net', "User have x-gzip output in file $PHP_SELF!!!", $Error_Msg);
      }else{
            $ENCODING = "gzip";
      }
      return $ENCODING;
    }else{
      return 0;
    }
}
function GzDocOut(){
    global $PHP_SELF, $CatocGz, $REMOTE_ADDR, $S_UserName;
    $ENCODING = CheckCanGzip();
    if ($ENCODING){
      print "\n<!-- Use compress $ENCODING -->\n";
      $Contents = ob_get_contents();
      ob_end_clean();
      if ($CatocGz == 'Y'){
            print "Not compress lenth: ".strlen($Contents)."<BR>";
            print "Compressed lenth: ".strlen(gzcompress($Contents))."<BR>";
            exit;
      }else{
            header("Content-Encoding: $ENCODING");
      }
      print pack('cccccccc',0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00);
      $Size = strlen($Contents);
      $Crc = crc32($Contents);
      $Contents = gzcompress($Contents);
      $Contents = substr($Contents, 0, strlen($Contents) - 4);
      print $Contents;
      print pack('V',$Crc);
      print pack('V',$Size);
      exit;
    }else{
      ob_end_flush();
      $Error_Msg = str_replace('<br>','',GetHeader());
      $Error_Msg .= "Time: ".date("Y-m-d H:i:s")."\n";
      $Error_Msg .= "Remote-Address: ".$REMOTE_ADDR."\n";
      //mail('your@none.net', "User can not use gzip output in file $PHP_SELF!!!", $Error_Msg);
      exit;
    }
}
?>   学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。

若相依 发表于 2015-2-4 10:26:24

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

分手快乐 发表于 2015-2-9 22:06:31

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

透明 发表于 2015-2-10 03:49:59

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

精灵巫婆 发表于 2015-2-19 01:10:18

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

若天明 发表于 2015-3-2 11:46:40

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

金色的骷髅 发表于 2015-3-11 18:50:59

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

愤怒的大鸟 发表于 2015-3-12 07:55:20

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

深爱那片海 发表于 2015-3-17 00:47:59

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

飘灵儿 发表于 2015-3-23 09:24:41

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

莫相离 发表于 2015-4-3 10:22:33

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

变相怪杰 发表于 2015-4-3 22:26:38

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

admin 发表于 2015-4-7 12:52:42

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

小女巫 发表于 2015-4-10 08:57:38

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

不帅 发表于 2015-4-21 05:10:44

如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,

活着的死人 发表于 2015-4-30 23:24:49

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

小魔女 发表于 2015-5-6 05:09:09

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

老尸 发表于 2015-6-4 15:39:24

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

谁可相欹 发表于 2015-7-7 07:09:15

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
页: [1]
查看完整版本: PHP教程之利用 php 4 减速 web 传输