Echo vị trí tiêu đề php

Trong PHP các đoạn mã khác nhau, bạn có thể định vị ở nhiều mã nguồn tệp [thường có phần mở rộng. php] khác nhau, rồi khi một tập tin script php chạy nó có thể tải và chạy mã bạn viết ở các tập tin khác nhau. Bạn có thể sử dụng hàm [lệnh] include, require và include_once, require_once để thực hiện tải và chạy tệp. Điều này giúp bạn có thể xây dựng các thư viện chức năng, mã tổ chức nhiều tệp theo logic nào đó, để dễ bảo trì và mở rộng

Lệnh bao gồm trong PHP

Lệnh include đọc nội dung của tệp, thi hành nó. cú pháp

include 'ten-file-php.php'
Giả sử bạn tạo menu chung cho các trang. Thì bạn có thể tạo tệp menu.php với nội dung như sau.
Home -   
Lập trình PHP -  
HTML -   
Liên hệ 

Với tệp menu.php này, bạn có thể đặt nó vào các tệp khác, ví dụ bạn tạo tệp index.php

 
    
        
        

Đây là ví dụ về lệnh include[]!

Khi thực hiện bao gồm thì phạm vi [khu vực hiệu lực của biến, các biến có hiệu lực tại dòng bao gồm thì cũng có hiệu lực trong tệp bên ngoài], đối với các hàm khai báo, lớp khai báo trong tệp bên ngoài thì có phạm vi toàn

Trong tệp bên ngoài, nếu có mệnh đề trả về thì nó sẽ trả về tại đó, có thể có giá trị trả về [mã sau khi trả lại không thực thi]

mg. php

file1.php

Một file ngoài đơn thuần tính toán xuất kết quả trả về có thể include nhiều lần, nhưng nếu file đó có định nghĩa function, class .. thì nếu include lại thì là định nghĩa lại - sẽ không được phép, phát sinh lỗi.

Chạy file1.php kết quả in ra:

Hai số a = 5, b = 6
Tong = 11
Hai số a = 33, b = 56
Tong = 89

Hàm include_once trong PHP

Hàm include_once có chức năng giống như lớp include, điều khác duy nhất nếu một tệp đã từng được tải vào thì include_once lần 2, 3 sẽ không làm được gì [không tải lại]

Có lẽ cũng không cần giới thiệu nhiều về nhu cầu "giấu diếm" này vì hiện nay có khá nhiều trang sử dụng cách quản lý tải xuống như vậy và cũng có một số lượng cũng không kém các trang mới muốn tìm .  trang web to hidden path of the files download.
Quản lý băng thông và "tài sản" là 2 lý do chính để sử dụng 1 chương trình quản lý tải xuống trên trang web . Bạn thử tưởng tượng có 1 . Bạn thử tưởng tượng có 1. Bạn thử tưởng tượng có 1 trang web cho tải nhạc hoặc ebook với 1 mức phí nho nhỏ, nếu liên kết để tải trực tiếp các tệp bị lộ tùm lum thì thứ nhất là "lỗ vốn", thứ hai là băng thông sẽ hết sạch nhanh  đến khoảng trước khi bạn đang xem chuyện gì đã xảy ra.
Một số lý do khác cũng "chính đáng" không kém ví dụ như bạn muốn đếm số lần tải xuống tệp; . Trong những trường hợp như vậy, hãy sử dụng 1 chương trình quản lý tải xuống trên trang web tệp của bạn tự tải lên và các tệp này nằm lại trong cơ sở dữ liệu hoặc được đặt trong 1 thư mục từ bên ngoài web không đọc được. Trong những trường hợp như vậy, hãy sử dụng 1 chương trình quản lý tải xuống trên trang web sẽ khá thuận lợi.
Tuy nhiên, cũng có một số điều cần chú ý trước khi bạn quyết định sử dụng 1 chương trình quản lý tải xuống trên trang web . .  của mình.  

  • Tốc độ download sẽ chậm hơn rất nhiều so với download file trực tiếp
  • Máy chủ sẽ phải xử lý nhiều công việc hơn so với khi cho phép tải xuống tệp trực tiếp
  • Nếu tệp được lưu trữ trong cơ sở dữ liệu, bạn nên lưu ý rằng số lượng kết nối đồng thời vào cơ sở dữ liệu là có hạn, trong khi 1 tệp có dung lượng lớn, có thể phải mất tới nửa tiếng hoặc hơn thế nữa để tải xuống
CHƯƠNG TRÌNH START TIẾN
Giả sử bạn có 1 tệp tài liệu. zip trong cùng thư mục với tệp tải xuống. php. Nhưng chỉ mình bạn biết là file tài liệu. zip này nằm ở đâu, người khác muốn tải xuống thì phải truy cập vào tệp tải xuống. php của bạn. Mã nguồn của tệp tải xuống. php will like after.  

Mã PHP

________số 8_______

Ủa, chỉ có nhiều như vậy thôi à?  Đúng vậy, chỉ có vỏn vẹn 10 dòng là có 1 trình quản lý download chương trình . zip, ta còn phải làm nhiều việc để chương trình hoàn thiện hơn. ].
Đầu tiên, ta mở tệp tài liệu. zip to read at binary mode [nhị phân].

Mã PHP

$fp fopen[$filename"rb"];.  

Tiếp tục theo báo cáo cho trình duyệt biết dữ liệu được trả về từ máy chủ là dữ liệu nhị phân chứ không phải là văn bản HTMl như thông thường:

Mã PHP

header["Content-type: application/octet-stream"];  

.
Đồng thời ta cũng thông báo cho trình duyệt biết dung lượng của tệp sẽ được tải xuống.

Mã PHP

header["Content-length: " filesize[$filename]];  

.
Và cuối cùng là đọc tệp nội dung và lặp lại để trình duyệt tải xuống.

Mã PHP

fpassthru[$fp];  

.
Lệnh fpassthru[$fp]; .

Mã PHP

$content fread[$handlefilesize[$filename]];
echo 
$content;  

Như vậy chương trình này cũng không có gì khác với các chương trình PHP thông thường ngoài 2 lệnh header[]. In the command

Mã PHP

header["Content-length: " filesize[$filename]];  

không có gì là khó hiểu, lệnh này thông báo cho trình duyệt biết dung lượng của tệp chuẩn bị tải xuống [thực ra không có lệnh này thì quá trình tải xuống vẫn diễn ra như bình thường]. Trục xoay vấn đề ở lệnh

Mã PHP

header["Content-type: application/octet-stream"];  

.
Lệnh

Mã PHP

header["Content-type: application/octet-stream"];  

sẽ thông báo cho trình duyệt biết dữ liệu chuẩn được tải xuống là dữ liệu nhị phân. Vì dữ liệu nhị phân nên trình duyệt sẽ thực hiện quá trình tải xuống và lưu tệp thay vì hiển thị trên trình duyệt như 1 trang HTML thông thường.
Thử chạy ví dụ trên vài lần, thay thế tệp tài liệu. zip bằng một số tệp khác nhau [ví dụ tệp Word, PDF, Excel. ] và thử trên một vài trình duyệt khác nhau, bạn sẽ thấy có vài chỗ hơi khó chịu.  
  • Trình duyệt sẽ mặc định lưu tệp vào đĩa với tên là tải xuống. php. You must revert your file name for true before open file ra read
  • Trong một số trường hợp, thay vì hỏi lưu tệp vào đĩa, trình duyệt sẽ mở luôn tệp [ví dụ: chạy Word hoặc Acrobat mở luôn tệp vừa được tải xuống]
Để giải quyết 2 vấn đề khó chịu trên cũng không có gì khó khăn lắm, ta chỉ cần thêm 1 lệnh header[] nữa thôi

Mã PHP

header['Content-disposition: attachment; filename="'.$filename.'"'];  

Tham số "tệp đính kèm" của tiêu đề "Bố trí nội dung" sẽ thông báo cho trình duyệt biết là nên tải xuống và lưu tệp thay vì mở. Tham số "filename=" sẽ thông báo cho trình duyệt biết tên của tệp đang được tải xuống.  CẢI TIẾN TRÌNH
Cho đến bây giờ chương trình của chúng ta vẫn còn thô sơ, chúng ta vẫn cần chúng .  
  • Cho phép người dùng chọn tệp để tải xuống. Hiện tại chương trình của chúng ta mới cho phép download 1 file duy nhất
  • Check tra data input from user. Đây là một công việc luôn nên làm. Chương trình cho phép sử dụng tùy chọn tệp để tải xuống thì cũng cần phải kiểm tra kỹ kẻo chính tệp cấu hình, nguồn tệp hoặc mật khẩu tệp của bạn bị tải xuống thì phiền
Cho phép người dùng chọn tệp để tải xuống.  Thao tác này có thể khá đơn giản đối với bạn. Chương trình sẽ nhận vào tệp tham số từ URL [ví dụ. Tải xuống. php?file=tài liệu. nén]. Xử lý đoạn mã như sau.  

Mã PHP

$fp fopen[$filename"rb"];.  0

--------------------------------------- .
-------------------> BỔ SUNG BÀI VIẾT

Chủ Đề