gpt4 book ai didi

php - 如何从不同的目录中 require_once?

转载 作者:可可西里 更新时间:2023-11-01 00:47:26 24 4
gpt4 key购买 nike

我试图从不同文件夹中的 php 文件中获取我的“库”文件,但在尝试从子文件夹访问它们时出现错误。比如我有这样一个目录:

+ home    
- file1.php

++ subfolder
- file2.php

++ libraries
- code_generator.php
- database_library.php

code_generator.php 还依赖于其他库:

(LINE 25) require_once(realpath("./libraries/database_library.php"));
//this works fine when called from file1.php, but not from file2.php

我尝试从 ./subfolder/file2.php 调用 code_generator,例如:

chmod("../libraries/codegenerator.php", 0777);  // for the error at the end of this question
require_once("../libraries/code_generator.php");

当我运行 file2.php 时,它产生了 2 个错误:

**Warning**: require_once(C:\xampp\htdocs\home\subfolder): failed to open stream: Permission denied in C:\xampp\htdocs\home\libraries\code_generator.php on line 25

**Fatal error**: require_once(): Failed opening required '' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\home\libraries\code_generator.php on line 25

*第 25 行是 require_once(realpath("./libraries/database_library.php"));

最佳答案

您可以使用 PHP super global variable $_SERVER['DOCUMENT_ROOT'] 获取服务器文档根目录的完整路径,例如。/var/www/website/public.

代码可能是这样的:

require_once $_SERVER['DOCUMENT_ROOT'] 。 '/libraries/database_library.php';

这样就不需要手动设置文档根路径了; PHP 将始终为您选择它并使其在服务器文档根目录中的任何 PHP 文件的 $_SERVER['DOCUMENT_ROOT'] 中可用。

关于php - 如何从不同的目录中 require_once?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14776386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com