Yêu cầu đường dẫn tuyệt đối php

Trong lập trình PHP, việc lấy đường dẫn tuyệt đối, document root hay base url sẽ là 1 chút khó khăn đối với những bạn mới làm quen với PHP. Vì vậy bài viết này sẽ hướng dẫn 1 số đoạn trích để lấy đường dẫn tuyệt đối, gốc tài liệu và URL cơ sở

Lấy đường dẫn tuyệt đối [đường dẫn tuyệt đối]

Giả sử mã hoặc tập lệnh của bạn đặt trong

$doc_root = preg_replace["!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']];
6, thì đoạn mã sau sẽ trả về kết quả như sau

/var/www/path/example.com/httpdocs/path/directory.

$base_dir = __DIR__;

Chú ý là kết quả không có dấu

$doc_root = preg_replace["!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']];
7 ở cuối

Lấy tài liệu gốc

Snippet will return to document root which does not have script filename

$doc_root = preg_replace["!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']];

Ví dụ sẽ được trả về dưới dạng

$doc_root = preg_replace["!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']];
8

Chú ý là kết quả không có dấu

$doc_root = preg_replace["!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']];
7 ở cuối

Get base URL of script current at

Ví dụ, nếu tập lệnh của bạn đặt trong

$doc_root = preg_replace["!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']];
6 của trang web
$base_dir = __DIR__;
1, thì đoạn mã đoạn mã sẽ trả về.
$base_dir = __DIR__;
0

Ứng dụng gọi chức năng tệp chức năng vào cùng thực hiện một công việc nào đó của hệ thống

Ví dụ 1. Nhà thầu xây dựng gọi các đơn vị để cùng hoàn thành dự án

  • Nguyên vị trí xây dựng phần
  • Thất bại đơn vị xây dựng nội thất
  • ....

Ví dụ 2. Call interface

  • Gọi tên trang web tiêu đề
  • Caller website

FILE CÂU LỆNH DÙNG GỌI

  • Bao gồm
  • Bao gồm_một lần
  • Yêu cầu
  • Require_once

GỌI TỆP VỚI INCLUDE, REQUIRE

  • Câu lệnh bao gồm [hoặc yêu cầu] được sử dụng để lấy tất cả nội dung bao gồm văn bản, mã và thẻ của một tệp [nếu tồn tại] vào tệp mà người dùng sử dụng hàm bao gồm
  • Gọi tệp nó rất hữu ích trong công việc chúng ta cần gói nội dung Php từ nhiều tệp khác nhau trong hệ thống của chúng ta

Các sự khác nhau khi xảy ra lỗi gọi tệp

  • Require[] sẽ sinh ra lỗi và dừng chạy chương trình
  • Bao gồm[] sẽ sinh ra cảnh báo và vẫn chạy chương trình

Ví dụ. Call header file. php, chân trang. php vào chỉ mục tệp. php

GỌI TỆP VỚI INCLUDE_ONCE, REQUIRE_ONCE

  • Chức năng tương tự và sự khác nhau giữa bao gồm, yêu cầu
  • Bao gồm_once, yêu cầu_once chỉ gọi tệp khi tệp chưa từng được gọi trước đó

hoặc

Name only file internal dung. php một lần duy nhất

KIỂM TRÀ ĐƯỜNG ĐẪN TRƯỚC KHI GỌI FILE

  • Trợ giúp chế độ xuất hiện lỗi gián đoạn chương trình
  • Sử dụng file_exists[] function để kiểm tra sự tồn tại của file

GHI NHỚ

  • Bao gồm, yêu cầu gọi tệp cùng xử lý chương trình
  • Bao gồm_once, yêu cầu_once chỉ gọi khi tệp chưa được gọi trước đó
  • Hàm file_exists[] dùng để kiểm tra sự tồn tại trước khi gọi tập tin

Khi viết chương trình xử lý bằng PHP sẽ không tránh khỏi việc lặp lại một công việc nào đó. Lúc này PHP cho phép nhúng một tệp php vào một tệp php khác, có thể coi đây là một điều phúc lợi cho người lập trình

1. Nhúng file trong PHP

  • Nhúng tệp là một thao tác rất hữu ích khi bạn muốn nhúng cùng một đoạn mã PHP, HTML hoặc văn bản giống nhau vào nhiều trang khác nhau mà không cần phải lặp lại mã
  • Trong PHP, để tiết kiệm thời gian tiết kiệm thời gian chúng ta có thể tạo sẵn các tệp nhúng php như phần đầu trang, nội dung, chân trang, chức năng. use chung any that and only job nhúng chúng vào trang web. Khi cần chỉnh sửa ta cũng chỉ cần vào các tập tin nhúng để chỉnh sửa chứ không phải trượt vào trang web để mò mẫm
    .

2. Hàm nhúng file trong PHP

Khởi tạo 3 file php như sau

  • tiêu đề
________số 8
  • chân trang

     Footer

  • mục lục. php
$base_dir = __DIR__;
0
  • Kiểm tra sự tồn tại của đường dẫn trước khi nhúng tệp.
$base_dir = __DIR__;
1

Ở Lession 0 , tôi đã giới thiệu cách cài đặt localhost Xampp trên Window 10. Bây giờ hãy khởi động Xampp để trải nghiệm Apache và SQL nào

.

2. 1. hàm bao gồm

Bao gồm được sử dụng để chèn một tệp PHP vào một tệp PHP khác. Khi lỗi bao gồm lỗi sẽ chỉ tạo cảnh báo PHP nhưng vẫn cho phép tiếp tục thực hiện lệnh thi nếu không tìm thấy tệp được bao gồm

  • cú pháp
$base_dir = __DIR__;
2
  • Ví dụ

    • Trong thư mục htdocs tạo một thư mục chung là DEMO , bên trong việc tạo thư mục con bao gồm và lưu chân trang tệp. php và tiêu đề. php trong đó
    • chỉ mục tập tin. php đồng mức với thư mục bao gồm, tức thời


Chỉnh sửa chỉ mục tệp. php as after

$base_dir = __DIR__;
3

Đang chạy trên máy chủ cục bộ.

Gõ lệnh. máy chủ cục bộ. 80/DEMO/chỉ mục. php


Kết quả. Nội dung 2 tệp footer. php và tiêu đề. php all has been added to below and on

$base_dir = __DIR__;
10


2. 2. hàm yêu cầu

Yêu cầu đưa ra thông báo lỗi và tiếp tục thực thi đoạn mã bên dưới câu lệnh

  • cú pháp
$base_dir = __DIR__;
5
  • Ví dụ. Sử dụng lại từ ví dụ ở trên

    • Sửa tên thư mục bao gồm
      yêu cầu như hình.

    • Chỉnh sửa chỉ mục tập tin. php as after
$base_dir = __DIR__;
6

Đang chạy trên máy chủ cục bộ.

Gõ lệnh. máy chủ cục bộ. 80/DEMO/chỉ mục. php

Kết quả. Nội dung 2 tệp footer. php và tiêu đề. php all has been added to below and on

$base_dir = __DIR__;
11

2. 2. Hàm Bao gồm_once và Yêu cầu_once

Nếu bạn vô tình gọi cùng một tệp [thường là các chức năng hoặc lớp] nhiều hơn một lần trong mã của bạn bằng cách sử dụng các câu lệnh bao gồm[] hoặc yêu cầu[], nó có thể gây ra xung đột

  • Đừng lo lắng, Bao gồm_một lần và Yêu cầu_một lần sẽ giải quyết vấn đề này

  • Cái tên nói lên tất cả, Bao gồm_once và Yêu cầu_once quy định các tệp đã được thêm vào rồi sẽ không được thêm vào bất kỳ lần nào nữa

$base_dir = __DIR__;
8
$base_dir = __DIR__;
9
  • Hai phương thức này hoạt động giống nhau, tức là chỉ nhận tệp đúng 1 lần. Attempt nhé
  • Đầu tiên ta đưa vào tiêu đề tệp. php ra cùng mức với chỉ mục. php

Rất tiếc. Tôi lỡ tay cho cả hai tệp ra rồi

các bạn lỡ tay theo tôi cũng không sao cả nhé.

  • Edit file index. php to this

     Footer

0

Bao gồm hoặc yêu cầu nếu gọi giống như trên, 2 em sẽ ra hai lần nhé

Nhưng chỉ cần thêm

$base_dir = __DIR__;
12 sau khi bao gồm hoặc yêu cầu thì trang web sẽ chỉ nhận tệp một lần mà thôi, bất kể trước đó đã có yêu cầu hay bao gồm


     Footer

1

     Footer

2

Dù 1

$base_dir = __DIR__;
12 hay 2
$base_dir = __DIR__;
12 thì code trên cũng chỉ ra một kết quả

3. Đường dẫn trong tệp nhúng

Có 2 loại đường dẫn

Trước tiên cần đưa 3 tệp về cùng một thư mục, ở đây tôi kéo 3 tệp về cùng một nhà trong thư mục bao gồm

3. 1. Đường dẫn tuyệt đối

  • Sử dụng cách này cần kích hoạt allow_url_fopen và allow_url_include sang chế độ Bật trong php. ban đầu

To find php file. ini chỉ cần vào Xampp và chọn config nhấn tổ hợp phím ctrl + F, cửa sổ tìm kiếm hiện ra, ta tìm hai từ khóa trên và đổi giá trị sang Bật

Chủ Đề