Tôi không chắc nơi này thực sự thuộc về HTML, CSS, Thiết kế ứng dụng hoặc một trong các chủ đề PHP. Vì vậy, tôi nghĩ rằng tôi sẽ đăng ở đây Show Trong tìm kiếm của mình, tôi đã tìm thấy các chủ đề gần giống với câu hỏi của mình nhưng chưa cung cấp cách khắc phục sự cố của tôi. Vì vậy, tôi đang yêu cầu giúp đỡ. Điều đó và tôi là một Nhà phát triển web mới bắt đầu
Problem: the php includes I use are not displayed on web pages in subdirectories. If I add ../ to the php include so it is like this: on the newpage.php only some of the included files are shown on the page in the subdirectory. All links on the file newpage.php now act as though they were written link and don't work. They are acctually written link.
Thư mục & Tệp
/ mục lục. php tiêu đề. php cuối trang. php menu.php Phong cách. css thư mục con/ trang mới. php
trang mới. php bao gồm mã
bao gồm ("menu. php"); ?>
Câu hỏi? . php và các tệp được bao gồm khác được hiển thị trên các trang thư mục con? . Vì đường dẫn tuyệt đối hoặc tương đối dường như làm hỏng nó
FYI. Tôi không có quyền truy cập CLI vào máy chủ. Chỉ truy cập ftp
Cảm ơn một lần nữa cho bất kỳ sự giúp đỡ bạn có thể cung cấp Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn
requinixĐăng ngày 15 tháng 5 năm 2013 requinix
Đăng ngày 15 tháng 5 năm 2013 Nếu vấn đề là các hàm bao gồm () đơn giản là không hoạt động thì bạn cần sử dụng các đường dẫn tuyệt đối khi đặt tên tệp. "thực đơn. php" một mình là không đủ include ($_SERVER["DOCUMENT_ROOT"] . "/menu.php");Nếu vấn đề là liên kết dẫn đến lỗi 404 thì bạn cần sử dụng đường dẫn tuyệt đối khi cung cấp URL. "thực đơn. php" một mình là không đủ. Menu Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn cảng80Đăng ngày 16 tháng 5 năm 2013 cảng80
Đăng ngày 16 tháng 5 năm 2013
Cảm ơn bạn đã phản hồi của bạn
Họ không nhận được lỗi 404. Các tệp được bao gồm không hiển thị. Tôi sẽ cung cấp $_SERVER["DOCUMENT_ROOT"] một sự cố gắng. Tôi đã diễn giải không chính xác việc sử dụng $_SERVER["DOCUMENT_ROOT"]. Tôi nghĩ đó là một cài đặt trong tệp ini PHP đã được đặt. Không phải là một cái gì đó được sử dụng trong mã hóa
Cảm ơn một lần nữa, Tôi sẽ đăng lại trạng thái Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn cảng80Đăng ngày 16 tháng 5 năm 2013 cảng80
Đăng ngày 16 tháng 5 năm 2013 Cảm ơn bạn requinix đã trả lời
Tôi đã thử các lần lặp này và nó vẫn không hoạt động. Tôi chỉ hình dung tôi sẽ chạy qua nhiều khả năng
lần thử đầu tiên bao gồm ($_SERVER["DOCUMENT_ROOT"]. "thực đơn. php "); ?>
nỗ lực thứ 2 bao gồm ($_SERVER["DOCUMENT_ROOT"]. "/thực đơn. php "); ?>
lần thử thứ 3 bao gồm ($_SERVER[". /"]. "/thực đơn. php "); ?>
Mặc dù vậy, nếu tôi hiểu chính xác thì nó phải giống như bạn đã nhập "DOCUMENT_ROOT". Tôi chỉ đang thử các ý tưởng để xem nó có thay đổi gì không
lần thử thứ 4 bao gồm ($_SERVER["DOCUMENT_ROOT"]. "/thực đơn. php"); ?>include ($_SERVER["DOCUMENT_ROOT"] . "/menu.php"); ?>
lần thử thứ 5 bao gồm ($_SERVER["DOCUMENT_ROOT"]. "serverip/menu. php "); ?>
lần thử thứ 6 bao gồm ("serverip/menu. php "); ?>
Am i thiếu cái gì ở đây? . Css hoạt động cho thư mục con/trang mới. php. Các trang đầu trang, chân trang và menu được bao gồm không hiển thị cho thư mục con/trang mới. php. Quyền là 755 hoặc rwxr-xr-x đối với thư mục con/ và các tệp trong thư mục con/ Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn nhạc jazz1Đăng ngày 16 tháng 5 năm 2013 nhạc jazz1
Đăng ngày 16 tháng 5 năm 2013 Thôi, sang trang mới. php và cung cấp cho chúng tôi kết quả của // current directory echo getcwd() . "\n"; Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn cảng80Đăng ngày 17 tháng 5 năm 2013 cảng80
Đăng ngày 17 tháng 5 năm 2013 Nó đưa ra con đường
/var/www/html/dd/subdir
Tôi đã thử sử dụng chúng một vài giờ sau bài đăng cuối cùng của tôi. Họ cũng không làm việc bao gồm ("serverip/var/www/html/dd/menu. php "); ?>
Và
bao gồm ("/var/www/html/dd/menu. php "); ?> Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn cảng80Đăng ngày 17 tháng 5 năm 2013 cảng80
Đăng ngày 17 tháng 5 năm 2013 The server just had updates applied. using works now when it did not before. I would rather the $_SERVER["DOCUMENT_ROOT"] would work. For now at least the ../ does link correctly now, when before it would assume the subdir path instead.
Cảm ơn bạn đã giúp đỡ. -) Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn nhạc jazz1Đăng ngày 17 tháng 5 năm 2013 nhạc jazz1
Đăng ngày 17 tháng 5 năm 2013 (đã chỉnh sửa) Chà, giải pháp của requinix sẽ không hoạt động theo nhật ký đó (/var/www/html/dd/subdir), nó chỉ hoạt động nếu bạn di chuyển menu. php bên ngoài dự án
Trong RedHat/CentOS/Fedora, thư mục gốc của web có tên là html, vì vậy trong trường hợp đó, "dd" là thư mục dự án của bạn không phải là thư mục gốc của web như bạn đã đăng trong bài đăng đầu tiên của mình Được chỉnh sửa vào ngày 17 tháng 5 năm 2013 bởi jazzman1Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn cảng80Đăng ngày 26 tháng 5 năm 2013 cảng80
Đăng ngày 26 tháng 5 năm 2013
Cảm ơn bạn đã chỉnh sửa trên webroot. Tôi có thể thấy sự khác biệt trong thư mục gốc của máy chủ so với thư mục gốc của một dự án, tôi sẽ ghi nhớ điều đó cho lần sau. Tôi có nhiều thư mục dự án trong webroot của/var/www/html/. Vì vậy, tôi hiểu bạn một cách chính xác, $_SERVER["DOCUMENT_ROOT"] sẽ không hoạt động vì điều đó giới thiệu /var/www/html/ chứ không phải /var/www/html/dd/ ?
Vì vậy, bản sửa lỗi thực sự phải là vấn đề về đường dẫn tuyệt đối như requinix đã đề xuất? Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn nhạc jazz1Đăng ngày 26 tháng 5 năm 2013 nhạc jazz1
Đăng ngày 26 tháng 5 năm 2013
Nó phụ thuộc vào cách trông giống như chỉ thị gốc trong conf Apache, theo mặc định là DocumentRoot "/var/www/html" Khi bạn tạo các dự án mới trên cùng một web gốc, bạn nên tránh sử dụng các đường dẫn tuyệt đối trừ khi bạn thực sự cần chúng Tại sao bao gồm không hoạt động trong PHP?Đảm bảo bạn sử dụng đúng đường dẫn . Hàm bao gồm sẽ cố gắng nhập tệp PHP của bạn bằng cách điều hướng đường dẫn hệ thống tệp. Điều này có nghĩa là bạn cần đảm bảo rằng tập lệnh được bao gồm có thể được truy cập từ tập lệnh cần nó bằng đường dẫn đã chỉ định.
Làm cách nào để đưa URL vào PHP?Tùy chọn PHP allow_url_include thường cho phép lập trình viên bao gồm() tệp từ xa (dưới dạng mã PHP) bằng cách sử dụng URL thay vì đường dẫn tệp cục bộ.
Làm cách nào để đưa tệp vào trang PHP?Có thể chèn nội dung của một tệp PHP vào một tệp PHP khác (trước khi máy chủ thực thi nó), với câu lệnh bao gồm hoặc yêu cầu. The include and require statements are identical, except upon failure: require will produce a fatal error (E_COMPILE_ERROR) and stop the script.
Làm cách nào để đưa PHP vào HTML?Chúng tôi có thể chèn bất kỳ tệp PHP nào vào mã HTML bằng cách sử dụng hai từ khóa là 'Bao gồm' và 'Yêu cầu' . Hàm PHP bao gồm (). Chức năng này được sử dụng để sao chép tất cả nội dung của một tệp được gọi trong hàm, văn bản khôn ngoan vào một tệp mà từ đó nó được gọi. Điều này xảy ra trước khi máy chủ thực thi mã. |