Lỗi include_once(controllers/CustomerController.php): failed to open stream

Mong mọi người hướng dẫn em sửa lỗi này với, mình xây dựng theo mô hình MVC và sử dụng XAMPP

**Warning** : include_once(controllers/CustomerController.php): failed to open stream: No such file or directory in  **C:\xampp\htdocs\php\AHT\Bai1\views\admin\index.php**  on line  **3**
**Warning** : include_once(): Failed opening 'controllers/CustomerController.php' for inclusion (include_path='C:\xampp\php\PEAR') in  **C:\xampp\htdocs\php\AHT\Bai1\views\admin\index.php**  on line  **3**
**Fatal error** : Uncaught Error: Class 'CustomerController' not found in C:\xampp\htdocs\php\AHT\Bai1\views\admin\index.php:4 Stack trace: #0 {main} thrown in  **C:\xampp\htdocs\php\AHT\Bai1\views\admin\index.php**  on line  **4**

Em đang làm theo mô hình MVC trong Views e có 1 folder là admin trong admin có file index, trong file index này e muốn include_once tới controller mà nó đang bị lỗi ntn ạ, đường dẫn thỳ nếu e file khác gọi thỳ lại chạy được bình thường ạ

Theo như log mô tả thì bạn rất có thể từ file index.php của bạn không tìm thấy được file controller bạn đang include, giải pháp là hãy xem kĩ lại path xem đã đúng chưa. Dễ hơn thì post cấu trúc thư mục lên để mn có thể xem xét

Ngoài ra:

Bạn nên gõ đúng chính tả tiếng Việt nhé, sai một lần thì là do gõ nhầm nhưng sai lần thứ hai trở đi thì là do năng lực.

2 Likes

Đi học tiếng anh và đọc kĩ lại lỗi, lỗi này không có gì để giải thích cả
Đường dẫn xxxx không tìm thấy, vậy thì bạn phảu thay đổi đường dẫn chứ, quá rõ ràng
Nếu bạn không show nổi dòng code thì mọi chuỵên chỉ là vớ vẫn

Summary

Vấn đề đường dẫn khá phổ biến với các bạn mới học, và hỏi thì cũng không có gì để gay gắt
Tuy nhiên cách hỏi của bạn khiến mình nghĩ bạn lười và không biết cách đặt câu hỏi
Vì trong câu hỏi của bạn chẳng có gì để người ta phán đoán được cả (mặc dù vẫn đoán được vì case này khá phổ biến, nhưng với những case khác thì không) , file khác chạy được dòng code tương tự thì có liên quan gì
Việc đoán được nguyên nhân nhưng cũng chả có gì để chỉ ra chỗ sai của bạn cả. Đó là lý do vì sao mình lại gay gắt

A post was merged into an existing topic: Duplicate posts will be moved here

dạ trước tiên mình cảm ơn b đã góp ý ạ, và mình mặc dù k giỏi tiếng anh được như bạn nhưng mình cũng biết dùng gg dịch ạ, vấn đề của mình ở đây là include_once không cùng cấp nên nó không tìm thấy :slight_smile:

#1. Bạn google theo keyword này: “PHP Relative Path Problem”

Hồi mới học mình cũng bị cái này, nên có note lại, bạn tham khảo thử

A PHP file includes another PHP file which itself includes yet another file, and they all are in separate directories.

/b.php

/dir_a/a.php

/dir_c/c.php

b.php includes a.php from /dir_a/a.php

#b.php
include("./dir_a/a.php");

it would be ok.

but then when c.php also includes b.php

#/dir_c/c.php
include("../b.php");

there will be errors

Warning: include(./dir_a/a.php): failed to open stream: No such file or directory in ...
Warning: include(): Failed opening './dir_a/a.php' for inclusion (include_path='.:') in ....

since c.php doesn’t know where a.php located

Solution:

#b.php
#include(dirname(__FILE__) . "/dir/script_name.php");
include(dirname(__FILE__) . "/dir_a/a.php");

will work well.

#2. Nếu viết teen code thì mình đoán forum này không phải là nơi phù hợp với bạn (Chính xác hơn là bạn không phù hợp với forum)

#3. Bạn nên học cách diễn tả ý mình muốn/hỏi cho rõ ràng hơn, chứ không phải là đi cãi lại người khác

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?