2012-07-20 2 views
34

Xin chào Tôi mới dùng CodeIgniter và PHP, tôi đang cố gắng thiết lập nó cho thời gian linh sam, nhưng nó cung cấp cho các lỗi sau đây.Lỗi nghiêm trọng: Gọi hàm không xác định base_url() trong C: wamp www Test-CI application views layout.php trên dòng 5

Fatal error: Call to undefined function base_url() in

  1. C:\wamp\www\Test-CI\application\views\layout.php on line 5
     
  2. {main}() IN ..\index.php:0 require_once('C:\wamp\www\Test-CI\system\core\CodeIgniter.php') IN ..\index.php:202

  3. call_user_func_array () IN ..\CodeIgniter.php:359

  4. Home->index() IN ..\CodeIgniter.php:0

  5. CI_Loader->view() IN ..\home.php:17

  6. CI_Loader->_ci_load() IN ..\Loader.php:419

  7. include('C:\wamp\www\Test-CI\application\views\layout.php') IN ..\Loader.php:833

Mã của tôi:

<html> 
    <head> 
     <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
     <title>Galleriffic | Custom layout with external controls</title> 
     <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/basic.css" type="text/css" /> 
     <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/galleriffic-5.css" type="text/css" /> 

     <!-- <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/white.css" type="text/css" /> --> 
     <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/black.css" type="text/css" /> 

     <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery-1.3.2.js"></script> 
     <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery.history.js"></script> 
     <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery.galleriffic.js"></script> 
     <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery.opacityrollover.js"></script> 
     <!-- We only want the thunbnails to display when javascript is disabled --> 
     <script type="text/javascript"> 
      document.write('<style>.noscript { display: none; }</style>'); 
     </script> 
    </head> 
+0

Bạn cần trợ giúp URL .. tham khảo http: //codeigniter.c om/user_guide/ – user1190992

+0

bản sao có thể có của hàm [base \ _url() không hoạt động trong codeigniter] (http://stackoverflow.com/questions/6449386/base-url-function-not-working-in-codeigniter) – brezanac

Trả lời

122

Bạn cần phải nạp url helper để truy cập chức năng đó. Hoặc bạn thêm

$this->load->helper('url'); 

ở đâu đó trong bộ điều khiển của bạn.

Cách khác, để có nó được nạp tự động ở khắp mọi nơi, đảm bảo dòng trong application/config/autoload.php trông giống như

$autoload['helper'] = array('url'); 

'url' trong mảng đó (như hình trên).

+0

một +1. cảm ơn bạn. –

11

Bạn cần tải trình trợ giúp trước khi tải chế độ xem ở đâu đó trong bộ điều khiển của bạn.

Nhưng tôi nghĩ rằng ở đây bạn muốn sử dụng chức năng site_url()

Trước khi bạn tải chế độ xem của bạn, về cơ bản bất cứ nơi nào bên trong phương pháp trong điều khiển của bạn, thêm video này vào mã của bạn:

$this->load->helper('url');

Sau đó, sử dụng hàm site_url().

0

Kiểm tra xem bạn có đang mở rộng CI_Controller lớp trong trình điều khiển của mình không và trong chế độ xem bạn có chức năng echo base_url($path), nếu không nó sẽ không hoạt động.

3

bạn phải sử dụng echo trước khi chức năng base_url(). nếu không nó sẽ không in url cơ sở.

1

trước tiên bạn phải cung cấp tiếng vọng cho url cơ sở hiển thị. Sau đó thay đổi giá trị dưới đây trong autoload.php của bạn sẽ nằm bên trong thư mục/config/application của bạn. $autoload['helper'] = array('url'); thì sự cố của bạn sẽ được giải quyết.

14

chỉ cần thêm

$autoload['helper'] = array('url'); 

trong autoload.php trong tập tin cấu hình của bạn

+0

Cá nhân tôi sẽ không khuyến khích sử dụng tính năng tự động tải cho người dùng mới ... tốt hơn nên làm lại bằng tay một cách thủ công (như với mọi thứ) để học nó vững chắc và bạn có thể bắt đầu sử dụng phím tắt ... chỉ cần ý kiến ​​của tôi ... – dsdsdsdsd

0

Chỉ cần thêm $autoload['helper'] = array('url');-autoload.php.

+0

@kenorb Có nó cung cấp một câu trả lời. Nó thậm chí là đúng. Thật không may câu hỏi cũng là một bản sao. – brezanac

+3

@holodoc Có thể, nhưng câu trả lời đã được sao chép từ các câu trả lời được bỏ phiếu khác, vì vậy nó phải được gỡ bỏ. Đã có quá nhiều câu trả lời giống hệt nhau đã được đăng sau này. Vì vậy, một trong hai người không đọc câu trả lời khác, hoặc họ nghĩ rằng họ có thể đạt được một số điểm. – kenorb

+0

@kenorb Đã sao chép hoặc không phải là câu trả lời hợp lệ của nó. Thói quen biểu quyết của cộng đồng là một chủ đề hoàn toàn khác. Dù bằng cách nào, câu hỏi được gắn cờ là trùng lặp ngay bây giờ, có thể sẽ bị đóng. – brezanac

2

trình mã hóa cần tải trình trợ giúp url để gọi hàm base_url().

sử dụng application->config->autoload.php

chỉnh sửa tự động load helper mảng và thêm url helper ..

base_url() chức năng đang làm việc tại ..

0

Chỉ cần tạo một biến như $base_url

$base_url = load_class('Config')->config['base_url']; 

<?php echo $base_url ?> 

và gọi nó trong mã của bạn ..

4

Để tải tập tin khác (css, js) và thư mục (hình ảnh), trong dự án CodeIgniter

, chúng tôi phải thực hiện theo hai bước đơn giản:

1.tạo thư mục công cộng (có thể cung cấp bất kỳ tên nào) trong thư mục codeigniters của bạn để đặt các tệp bootstrap của bạn vào thư mục css và js bên thư mục công cộng. https://i.stack.imgur.com/O2gr6.jpg

2. Bây giờ chúng tôi phải sử dụng hai dòng mã 1.load-> helper ('url'); ?> 2.

đi đến tập tin xem bạn

đưa dòng đầu tiên để tải URL cơ sở

<?php $this->load->helper('url'); ?> 

thứ hai trong thẻ đầu html của bạn đặt này

<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>/public/css/bootstrap.css"> 

bây giờ bạn có thể tận hưởng bootstrap trong codeigniter của bạn

+0

nó hoạt động cho tôi –