【问题标题】:require_once :failed to open stream error: no such file or directoryrequire_once:无法打开流错误:没有这样的文件或目录
【发布时间】:2015-02-25 19:12:27
【问题描述】:
$conn = mysql_connect($servername,$dbusername,$dbpassword) or die(mysql_error());
mysql_select_db($dbname) or die ("could not open db".mysql_error());

require_once dirname('../tcpdf/config/lang/eng.php');
require_once dirname('../tcpdf/tcpdf.php');

错误:警告:require_once(../tcpdf/config/lang):无法打开流:第 33 行的 C:\xampp\htdocs\jmb_system\anggerik\printunitstmt.php 中没有这样的文件或目录

致命错误:require_once():在 C:\xampp\htdocs\jmb_s 中打开所需的 '../tcpdf/config/lang' (include_path='.;C:\xampp\php\PEAR') 失败

请问错误在哪里?谢谢

【问题讨论】:

标签: php require-once


【解决方案1】:

使用类似的东西

require_once dirname(__FILE__) . "/path/to/file";

在哪里

dirname(__FILE__) 

表示当前文件路径。 对相对包括非常有用。 不要忘记第一个斜线

dirname('/../tcpdf/config/lang/eng.php');

【讨论】:

  • 你能给我一个例子吗?
  • 例如,如果我有两个文件,如 parent_dir/AbstractOutputs.php 和 parent_dir/implementation/DummyOutputs.php,那么我的包含将是:require_once dirname(FILE)。" /../AbstractOutputs.php";
【解决方案2】:

dirname() 为您提供目录的路径(在本例中为“../tcpdf/config/lang”)。 Require_once 需要该文件。只需删除 dirname()。

require_once('../tcpdf/config/lang/eng.php');
require_once('../tcpdf/tcpdf.php');

或者,如果“tcpdf”文件夹在同一目录中:

require_once('./tcpdf/config/lang/eng.php');
require_once('./tcpdf/tcpdf.php');

【讨论】:

  • 嗨,salkin,在我删除了 DIRNAME 之后,错误仍然相同。它仍然指向那里的 require_once 行。
  • 那么路径错误。 'tcpdf' 文件夹是否与您的 php 脚本位于同一目录中?然后从路径中删除“../”
  • 我没有 eng.php 和 tcpdf.php 吗?那么我应该如何创建代码呢?
  • 我假设你已经下载了 tcpdf 当你把 "tcpdf" 文件夹和你的 php 脚本一样放在同一个地方时,代码将是 "require_once('./tcpdf/tcpdf.php');"
  • 是的,我有。我需要将 tcpdf 文件与我的脚本放在一起还是如何?
【解决方案3】:

试试:

$filename = realpath('../tcpdf/tcpdf.php');
var_dump($filename);

它返回什么?如果返回 bool(false),则路径/文件在此处不存在。

【讨论】:

  • 现在有一个针对此常见错误的故障排除清单:stackoverflow.com/a/36577021/2873507
猜你喜欢
  • 2011-07-04
  • 2017-06-16
  • 1970-01-01
  • 2011-05-27
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
相关资源
最近更新 更多