2013-01-06 9 views
26

Tôi đang sử dụng require_once như thế nàySử dụng require_once lên thư mục không làm việc

require_once('../mycode.php') 

Tôi đang phát triển một plugin wordpress. Thư mục plugin của tôi là yves-slider nơi tôi có một tệp có tên là yves-slider.php và một thư mục có tên là admin. Bên trong thư mục quản trị tôi có một tập tin gọi là admin.php. Tôi muốn yêu cầu tập tin yves-slider.php trong admin.php của tôi mà nằm ở một thư mục cấp. Khi tôi cố gắng sử dụng

require_once('../yves-slider.php') 

nó mang lại cho tôi những lỗi sau

Warning: require_once(../yves-slider.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php on line 4

Fatal error: require_once(): Failed opening required '../yves-slider.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\wordpress\wp-content\plugins\yves-slider\yves-slider-admin\yves-slider-admin.php on line 4

Tôi có làm sai? Tôi đang sử dụng XAMPP 3.1, tôi đoán đó là cách tốt nhất để làm điều đó.

+0

Thường gặp phải lỗi này và để khắc phục sự cố nhanh chóng, hãy làm theo các bước sau: stackoverflow.com/a/36577021/2873507 –

Trả lời

49

Bạn muốn chắc rằng liên quan đến các đường dẫn hiện tại tập tin có trong:

require_once __DIR__ . '/../yves-slider.php'; 

gì có thể đang xảy ra là con đường hiện tại PHP trông trong là không đường dẫn mà bạn nghĩ rằng đó là. Nếu bạn tò mò về những gì nó là (con đường hiện tại), bạn có thể làm echo getcwd();.

+0

Tôi chỉ bỏ lỡ một "/" trong ví dụ của bạn '/../yves- slider.php ': D cảm ơn rất nhiều .. bạn trả lời sẽ được kiểm tra trong 6 phút. Tại sao địa ngục tôi cần một "/"? thay vì trực tiếp '../yves-slider.php' –

+0

nhưng tôi tự hỏi, tại sao loại đường dẫn "tương đối" này hoạt động: require_once "directory/class.php" – emfi

+1

@emfi những thứ đó liên quan đến thư mục làm việc hiện tại và phải là avoived cho sự linh hoạt trong mã của bạn. – PeeHaa