• php文件加载和错误


    综述:

    4个文件加载的语法形式(注意,不是函数):

    include,  include_once,  require, require_once;

    他们的本质是一样的,都是用于加载/引入/包含/载入一个外部文件到当前php代码中来。

    他们只在2个方面有细微区别:

    1,如果加载文件失败,则有不同的处理规则;includerequire不同

    2,如果加载文件重复,则有不同的处理规则;XXXXXX_once不同;

    3,他们都是语法结构,而非函数,使用形式可以有两种:

    3.1  include  ‘文件路径’;

    3.2  include (‘文件路径’);

    文件路径问题

    不管是哪个载入语法结构,都涉及到文件路径问题。主要有3种情况:

    1, 相对路径:

    就是以./”, 或“../”,开头的路径。

    ./ 表示当前网页文件的所在位置(文件夹,目录);

    ../ 表示当前网页文件的所在位置的上一级位置(文件夹,目录)

    这种相对位置对一个网站中的所有内容(包括phphtml,图片,cssjs文件)都有效。

    2,绝对路径:

    2种绝对路径:

    本地绝对路径:

    window系统: c:/d1/d2/page3.php

    unix系列系统: /d1/d2/page3.php

    网络绝对路径: http://www.abc.com/d1/d2/page4.php

    3,只有文件名(无路径)

    phpinclude语法(其他3个也一样)中,如果只给出文件名,而没有给出路径,则此时有其内部找到该文件的规则,如下:

    1,首先在系统设置的include目录中查找:

    php.ini配置文件中,有:include_path设定:

    可见默认无设定;

    该设定其实可以设定多个目录,其间用分号分开;系统会按顺序依次找要载入的文件。

    修改php.ini中的include_path为:

    我们也可以在脚本中设定:

    我们也可以使用另一个函数来获取当前的include_path的值:

    2,上面没找到,在当前执行的网页文件所在目录(所谓当前工作目录)查找:

    所谓当前网页文件,就是地址栏中显示的那个文件名。

    3,上面还没找到,则在当前include命令所在文件的所在目录中查找:

    如果一个文件(A)包含文件B,在文件B中又有include命令包含文件C

    此时B中的路径问题就可能发生这种情况。

    文件载入执行过程

    include语句处退出php脚本模式(进入html代码模式)

    载入include语句所设定的文件中的代码,并执行之(如同在当前文件中一样)

    退出html模式重新进入php脚本模式,继续之后的代码

    举例:

    4include_yuanli.php中:

    page3.php中:

     

    4include_yuanli.php中的代码,相当于:

  • 相关阅读:
    csu 1141 节能
    WA:ZOJ 1025 Wooden Sticks
    UVa 531 Compromise
    UVa 437 The Tower of Babylon
    UVa 10285 Longest Run on a Snowboard
    在asp.net使用web.config身份验证
    掌握 Ajax,第 6 部分: 建立基于 DOM 的 Web 应用程序
    面向对象编程思想
    一步一步学Remoting之五:异步操作
    Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)
  • 原文地址:https://www.cnblogs.com/xu1115/p/10925939.html
Copyright © 2020-2023  润新知