为什么一个文件里可以出现<?php只有开头没有结尾?

解决方案 »

  1.   

    你说的这种情况只能出现在纯PHP代码页,这么写的好处就是避免因为各个文件中的空格导致错误信息产生!
      

  2.   

    话说纯PHP代码页的话,要是高兴的话,只写<?php开头,而不写结尾也是可以滴
      

  3.   

    可以是可以,就好比HTML页面你不写head和body都成是一个道理。BUT~~代码规范啊代码规范
      

  4.   

    在有些情况下可以避免错误,比如在包含文件如include什么的,如果被包含文件中式有结尾的那么你有结尾就会出现错误
      

  5.   

    zend公司都推荐大家不要结尾符,这样避免出现额外的字符
      

  6.   


            php开发时有关的问题(errors header already sent)。        脚本结束加“?>”好还是不加好。drupal->coding standards的建议。
    Removing it eliminates the possibility for unwanted whitespace at the end of files which can cause "header already sent" errors, XHTML/XML validation issues, and other problems.
    The closing delimiter at the end of a file is optional.
    PHP.net itself removes the closing delimiter from the end of its files (example: prepend.inc), so this can be seen as a "best practice."
      

  7.   

    关于php的结束符上次和yh一起面试的时候说php文件的结束符?>不加更好,大概解释了一下也没听懂是什么意思,google了一下,还有人引用外国人的话,说的都不是很清楚,最后在这里找到了:http://codeigniter.org.cn/user_guide/general/styleguide.html#php_closing_tagPHP闭合标签“?>”在PHP中对PHP的分析器是可选的。 但是,如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格或空行都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。PS: 个人感觉还是一个编码规范的问题,如果养成比较严谨的开发习惯,一般来说不会有这个问题
      

  8.   

    结尾的地方用 /* END OF THE FILE */ 会比用 ?> 好很多
      

  9.   

    如果是纯的PHP文件,最好不要有结尾的?>
    如果有?>,而且后面还不小心跟了一个空格之类的,那当别的文件require了它,然后又要更改header时,就会出现错误了(用缓冲的除外)。
    所以个人认为没有?>是个好习惯。