Lấy url gốc php

Về mặt giáo dân và tính thực tế, tôi thấy đây là một thủ thuật/điều cũ của DOS. Ái chà. Đó là gì?

". " sao lưu bạn ra khỏi thư mục con hiện tại một lần vào thư mục/thư mục cao hơn và. nhập đã gõ hai lần cũng sao lưu bạn 2 thư mục mẹ cao hơn. Tiếp tục thêm ". enter" quay lại và bạn sẽ sớm thấy mình ở cấp cao nhất của thư mục

Còn để các Newbie hiểu rõ hơn thì coi cái này [xét về PC gia đình hay "C. \ drive" nếu bạn biết điều đó có nghĩa là gì, thay vì "thư mục gốc" của máy chủ web/máy chủ lưu trữ ]. Trong khi bạn làm điều đó, hãy xem xét trang web của bạn tồn tại ở đâu đó trên ổ cứng máy tính cá nhân tại nhà của bạn, nằm trong một số thư mục dưới thư mục C. \ lái xe. Cuối cùng, bạn có thể coi nó là ". " quay lại một thư mục và "/" chuyển tiếp một thư mục/thư mục

Hiện nay. Nếu bạn đang sử dụng dấu nhắc lệnh và đang ở trong thư mục "myDocuments" của PC, bạn phải thoát khỏi thư mục đó để đến gần thư mục cao hơn "C. \" bằng cách gõ ". /". Nếu bạn muốn truy cập một tệp nằm trong thư mục góa phụ trong khi bạn vẫn đang ở trong thư mục myDocuments, về mặt lý thuyết, bạn sẽ gõ. /các cửa sổ; . , nhưng tôi đang thiết lập cho bạn web. / chuyển hướng tới thư mục khác một cách tự nhiên

Sử dụng "myDocuments" giả sử rằng bạn đã tạo 2 thư mục trong đó có tên là "PHP1" và "PHP2", như vậy chúng ta hiện có các thư mục

  • C. \myDocuments\PHP1
  • C. \myDocuments\PHP2

Trong PHP1, bạn đặt một tệp có tên là chỉ mục. php. và trong thư mục PHP2, bạn đã đặt một tệp có tên Found. php. bây giờ nó trở thành

  • C. \myDocuments\PHP1\index. php
  • C. \myDocuments\PHP2\đã tìm thấy. php

Bên trong C. \myDocuments\PHP1\index. php, bạn sẽ cần chỉnh sửa và nhập nội dung nào đó như


Các. / là vị trí do đó nó coi vị trí tệp hiện tại của bạn là "C. \myDocuments\PHP1\index. php" và là một lệnh yêu cầu nó thoát ra khỏi thư mục PHP1 và nhập hoặc chuyển tiếp vào thư mục PHP2 để tìm Tìm thấy. tập tin php. Nhưng nó có đọc không?

Hiện nay. giả sử bạn có 1 thư mục PHP1 và thư mục con PHP2

  • C. \myDocuments\PHP1\PHP2

bạn chỉ cần tham khảo/mã


vì PHP2 tồn tại dưới dạng thư mục con, bên dưới hoặc trong thư mục PHP1

Nếu cách trên không hoạt động, nó có thể liên quan đến quyền truy cập/htaccess hoặc quyền đối với thư mục hoặc lỗi đánh máy. Để nâng cao điều này. gặp rắc rối khi chụp. Nếu "tìm thấy. php" có lỗi/lỗi đánh máy bên trong, nó sẽ bị lỗi khi hiển thị lỗi, đó có thể là lý do [require/require_once] khiến bạn ảo tưởng rằng nó không thay đổi thư mục hoặc truy cập tệp. Ở suy nghĩ cuối cùng về vấn đề này, bạn có thể cần khởi tạo các hàm hoặc tham chiếu của mình để sử dụng "bất cứ thứ gì" được bao gồm/yêu cầu bằng cách tạo một biến hoặc đối tượng mới, chẳng hạn như

$newObject = new nameobject["origianlThingy"];

Hãy nhớ rằng, chỉ vì bạn đang bao gồm/yêu cầu một cái gì đó, đôi khi chỉ có nghĩa là, nó được bao gồm/bắt buộc phải chạy, nhưng nó có thể cần được tạo lại để làm cho nó hoạt động hoặc truy cập nó. Mới chắc chắn sẽ tạo lại một phiên bản của nó "nếu nó có thể đọc được" và cung cấp nó trong tài liệu hiện tại trong khi vẫn giữ nguyên bản gốc. Tuy nhiên, bạn nên tham khảo biến mới được tạo $newObject trong mọi trường hợp. nếu nó toàn cầu

Để đặt điều này trong quan điểm của một số tài khoản máy chủ web; . Thư mục của bạn được gọi là thư mục gốc. Trong thư mục đó, bạn có thể làm bất cứ điều gì bạn được phép làm. "một trong nhiều cách" của bạn để di chuyển giữa các thư mục/thư mục là sử dụng

$newObject = new nameobject["origianlThingy"];
4 tuy nhiên, nhiều lần để thoát khỏi hiện tại của bạn để tham chiếu đến vị trí thư mục bạn muốn tìm

Trong cơn say, tôi nhận ra rằng mình biết quá nhiều để trở nên tỉnh táo, và không đủ để trở nên điên loạn. "

Trong PHP, cách sạch nhất để lấy thư mục mẹ của tập lệnh đang chạy hiện tại so với gốc www là gì?

$_SERVER['SCRIPT_NAME'] == '/relative/path/to/script/index.php'

Hoặc chỉ

$something_else == '/relative/path/to/script/'

Và tôi cần lấy

$newObject = new nameobject["origianlThingy"];
5 với dấu gạch chéo được chèn đúng cách. Bạn muốn đề nghị gì?

CHỈNH SỬA

Tôi cần lấy một đường dẫn liên quan đến gốc www,

$newObject = new nameobject["origianlThingy"];
6 cung cấp cho tôi một đường dẫn tuyệt đối trong hệ thống tệp để nó không hoạt động. Mặt khác,
$newObject = new nameobject["origianlThingy"];
7 'bắt đầu' ở gốc www

đã hỏi 10/12/2009 lúc 16. 08

Tatu Ulmanen Tatu Ulmanen

121k33 huy hiệu vàng183 huy hiệu bạc182 huy hiệu đồng

Nếu tập lệnh của bạn nằm ở

$newObject = new nameobject["origianlThingy"];
8 thì phần sau sẽ trả về


0

hoặc


1

Chỉnh sửa

Đây là một kỹ thuật được sử dụng trong nhiều khung để xác định đường dẫn tương đối từ app_root

cấu trúc tệp


2

mục lục. php là tệp điều phối/bootstrap của tôi mà tất cả các yêu cầu được chuyển đến


3

thư viện. php là một số tệp nằm trong một thư mục bổ sung và tôi cần xác định đường dẫn liên quan đến gốc ứng dụng [/var/www/]


4

Có lẽ có một cách tốt hơn để tính toán đường dẫn tương đối sau đó là

$newObject = new nameobject["origianlThingy"];
9 nhưng bạn hiểu ý

đã trả lời 10/12/2009 lúc 16. 09

Mike B Mike B

31. 6k13 huy hiệu vàng85 huy hiệu bạc111 huy hiệu đồng

5

Kể từ PHP 5. 3. 0 bạn có thể sử dụng

$_SERVER['SCRIPT_NAME'] == '/relative/path/to/script/index.php'
0 cho mục đích này

Thư mục của tập tin. Nếu được sử dụng bên trong một tệp bao gồm, thư mục của tệp được bao gồm sẽ được trả về. Điều này tương đương với dirname[__ FILE__]

Xem hằng số ma thuật PHP


0

đã trả lời 29 tháng 1 năm 2014 lúc 9. 08

Để lấy thư mục gốc của tập lệnh hiện tại


1

đã trả lời 17 tháng 4 năm 2014 lúc 17. 25

hans hans

1111 huy hiệu bạc3 huy hiệu đồng

Nếu tôi hiểu đúng câu hỏi của bạn, giả sử tập lệnh đang chạy của bạn là


2

Điều này sẽ cung cấp cho bạn thư mục mẹ của tập lệnh đang chạy của bạn so với tài liệu www


3

Nếu bạn muốn thư mục mẹ của tập lệnh đang chạy của bạn liên quan đến thư mục gốc của máy chủ


4

đã trả lời Ngày 9 tháng 5 năm 2011 lúc 19. 19

Marco Demaio Marco Demaio

32. 7k33 huy hiệu vàng126 huy hiệu bạc157 huy hiệu đồng

2

Tôi hy vọng điều này sẽ giúp bạn


5

đầu ra


6

đã trả lời 2 tháng 6 năm 2017 lúc 10. 38

Vignesh KM Vignesh KM

1.7861 huy hiệu vàng17 huy hiệu bạc23 huy hiệu đồng

Fugly, nhưng điều này sẽ làm điều đó


7

trượt

15k24 huy hiệu vàng105 huy hiệu bạc139 huy hiệu đồng

đã trả lời 30 tháng 8 năm 2013 lúc 20. 37

Brad Brad

511 huy hiệu bạc1 huy hiệu đồng


8

đã trả lời 10/12/2009 lúc 16. 10

1

Đây là những gì tôi sử dụng vì tôi không chạy> 5. 2


9

Double dirname với tệp như được đề xuất bởi @mike b cho thư mục mẹ và thư mục hiện tại được tìm thấy chỉ bằng cách sử dụng cú pháp đó một lần

Chủ Đề