2 nber1994 nber1994 于 2016.03.18 14:17 提问

php文件中为什么有的php有结束符,有的没有结束符 5C
php

php文件中,有的php文件存在结束符"?>",有的就不存在

5个回答

qq_34344208
qq_34344208   2016.03.18 22:37

PHP的类文件不需要结束符

nber1994
nber1994 我写的是接口文件属于类文件吗
2 年多之前 回复
PHPxiaoxuesheng
PHPxiaoxuesheng   2016.03.20 20:24
楼上两位回答的并不完善,给你个完善的。
如果是PHP和HTML混编时,一定要有结束符号?>,否则有可能导致语法错误。
如果是一个纯粹的PHP页面,最后的结束符?>最好一定不要添加,这么东西可以避免使session_start()失效,也可以避免SQL注入
qwfy326
qwfy326   2016.03.21 16:40

赞同楼上的说法:
(1)如果是PHP和HTML混编时,一定要有结束符号?>,否则有可能导致语法错误。
(2)如果是一个纯粹的PHP页面,最后的结束符?>最好一定不要添加
好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些动作之前不能有输出,如果不小心在?> 后边加了不可见字符(多余的空格、换行符)等破坏页面显示,就会报”Header already sent”错误,不写的话不会有此问题。另,可以直接把光标移到最后,接着编程。
坏处:在dreamweaver的视图模式下,一团糟。

lanmanck
lanmanck   2016.12.13 17:15

不要听他们胡扯,一定要加上?>,否则dw和notepad++都识别不出来,为什么?人家也要解析啊,搞那么累干嘛,统一一下就好了。

u011489205
u011489205   2016.03.18 14:56

严格意义上是要求有的,但是可以没有。类似于html你可以没有html标签,浏览器会自动识别并补充。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
为什么很多php文件没有结束标记
PHP总是以文件结束作为PHP脚本结束。如果在?>后存在有空格,回车等字符,输出时会当作HTML输出,如果这个文件又被包含在其他文件中,在 前输出空白(空格、换行等),导致header, setcookie, session_start等函数执行错误。所以很多编码规范推荐在PHP脚本的文件最后不写?>”。
纯php文件不加结束标记的好处
(1)合理性: PHP闭合标签"?>"在php中对php分析器是可选的,在一些编程规范里面,php结束符在纯php脚本文件里是必须忽略的,php结束符仅仅用于在php与html混写时表示php代码的结束,而对于纯php文件来说,这个文件结束了,代码就结束了,没必要加上结束符,因为加上结束符会引发很多不必要的麻烦。 (2)影响: 倘若加上结束符,那么在结束符之后,包括你看不见的空格
PHP结束符省略
 我是菜鸟,刚学习PHP,把学习过备的问题记录下来,以备查询。 今天就记录一下PHP 结束符 也就是 ?> 何时可以省略的问题。 首先整个php文件都没有html元素标签。那么就是纯php代码,这时候肯定可以省略结束符的。 有人说php和html混合编写就不能省略,否则,也就是只有php代码那么可以省略。其实这句话是个坑。 根据我的理解应该是这样的: 1、如果php代码嵌入在htm
利用apache伪静态规则重写lighttpd伪静态规则的方法
lighttpd伪静态规则的写法之前的文章已经有大体介绍,Lighttpd服务器URL重写与伪静态配置,但是还有是朋友说看不懂,不会写。废话不多说了,欢迎您收看友声网卡卡北的原创“软文”,今天就用白话方式跟大家说一下利用apache伪静态规则重写lighttpd伪静态规则的方法。上一篇文章Lighttpd服务器URL重写与伪静态配置中说道:lighttpd 1.4.24版以后,规则用url.rew
PHP不推荐在文件最后写‘?>’结束符
PHP不推荐在文件最后写‘?>’结束符 避免一些函数不必要的错误!
为何php文件一般末尾不写?〉结束标志
对于经常开发PHP的程序员来说,习惯性的文件末尾不加结束符号  “?>”,一开始,并没有理解这样做的目的,只是那些前辈告诫你:一定不要加上结束符哦,却从来不问个为什么,后来才知道原因: 任何一个PHP开发的项目,都不可能只有一个PHP文件,常见的方法是把模块文件,配置文件,函数文件分开到不同的目录,使用时,通过require或include函数加载进来,然而一些PHP的头函数(session_s
当字符数组中没有结束符'\0'
当字符数组中没有结束符'\0'的时候,结果未知。 代码: #include #include using namespace std; void print(char a[]){ puts(a); } int main() { char a[5]={'1','2','3','4','5'}; char* b= new char[6]; strcpy(b
python文件行结束符问题
由于平台不同行结束符不同,Python中解决了这个问题, os 模块属性 描述 linesep 用于在文件中分隔行的字符串 sep 用来分隔文件路径名的字符串 pathsep 用于分隔文件路径的字符串 curdir 当前工作目录的字符串名称 par
c语言结束符‘\0’
1.注意:      ‘\0’实际上是8位0x00, 在将其做整形表示出来时当然就是0了;      字符在计算机其实就是ASCII码,0的ASCII码其实是48.。。。         '\0'是转义字符,意思是告诉编译器,这不是字符0,而是空字符。空字符\0对应的二进制为00000000,而数字0为00110000 原来,在C语言中没有专门的字符串变量,通常用一个字符数组来存放一
什么情况下可以不写PHP的结束标签“?>”
我们经常看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下必须写?先来看2个例子: 下面的代码正常运行:     echo 123456;   下面的代码报错:     echo 123456;     abc   原因分析: 前者是纯php代码,可以不写结束标签,也不推