Tệp đầu ra php khi tải xuống

Hàm fopen[] cũng được sử dụng để tạo tệp. Có thể hơi khó hiểu, nhưng trong PHP, tệp được tạo bằng cách sử dụng cùng chức năng được sử dụng để mở tệp

Nếu bạn sử dụng fopen[] trên một tệp không tồn tại, nó sẽ tạo tệp đó, với điều kiện là tệp được mở để ghi [w] hoặc nối thêm [a]

Ví dụ dưới đây tạo một tệp mới có tên "testfile. txt". Tệp sẽ được tạo trong cùng thư mục chứa mã PHP

Thí dụ

$myfile = fopen["tệp kiểm tra. txt", "w"]


Quyền đối với tệp PHP

Nếu bạn gặp lỗi khi cố gắng chạy mã này, hãy kiểm tra xem bạn đã cấp quyền truy cập tệp PHP của mình để ghi thông tin vào ổ cứng chưa

PHP Ghi vào Tệp - fwrite[]

Hàm fwrite[] được sử dụng để ghi vào tệp

Tham số đầu tiên của fwrite[] chứa tên của tệp để ghi vào và tham số thứ hai là chuỗi được ghi

Ví dụ dưới đây ghi một vài tên vào một tệp mới có tên "newfile. txt"

Thí dụ

$myfile = fopen["tệp mới. txt", "w"] or die["Không thể mở tệp. "];
$txt = "John Doe\n";
fwrite[$myfile, $txt];
$txt = "Jane Doe\n";
fwrite[$myfile, $txt];
fclose[$myfile];
?>


Lưu ý rằng chúng tôi đã ghi vào tệp "newfile. txt" hai lần. Mỗi lần chúng tôi viết vào tệp, chúng tôi đã gửi chuỗi $txt đầu tiên chứa "John Doe" và thứ hai chứa "Jane Doe". Viết xong ta đóng file lại bằng hàm fclose[]

Nếu chúng ta mở "newfile. txt" nó sẽ trông như thế này

Ghi đè PHP

Bây giờ "tệp mới. txt" chứa một số dữ liệu mà chúng tôi có thể hiển thị điều gì sẽ xảy ra khi chúng tôi mở một tệp hiện có để ghi. Tất cả dữ liệu hiện có sẽ bị XÓA và chúng tôi bắt đầu với một tệp trống

Trong ví dụ bên dưới, chúng tôi mở tệp hiện có "newfile. txt" và viết một số dữ liệu mới vào đó

Thí dụ

$myfile = fopen["tệp mới. txt", "w"] or die["Không thể mở tệp. "];
$txt = "Chuột Mickey\n";
fwrite[$myfile, $txt];
$txt = "Chuột Minnie\n";
fwrite[$myfile, $txt];
fclose[$myfile];
?>


Nếu bây giờ chúng ta mở "newfile. txt", chúng ta sẽ thấy Donald Duck và Goofy Goof được thêm vào cuối tệp

Nếu bạn muốn tạo các loại tệp hoặc hình ảnh khác nhau, tải tệp trực tiếp vào ổ đĩa của người dùng bằng PHP, bạn có thể chạy hàm readfile[]

Hãy xem cách thực hiện trong ví dụ tạo thư viện hình ảnh, điều này sẽ giúp người dùng tải xuống các tệp hình ảnh chỉ bằng một cú nhấp chuột

Trong ví dụ dưới đây, một bộ sưu tập hình ảnh. php được tạo và một mã được đặt bên trong nó

Vì vậy, trong ví dụ trên, liên kết tải xuống trỏ đến tệp tải xuống. tập tin php. Đến lượt nó, URL bao gồm tên tệp hình ảnh, giống như một chuỗi truy vấn. Ngoài ra, bạn có thể nhận thấy rằng hàm urlencode[] được áp dụng để mã hóa tên tệp hình ảnh theo cách mà chúng có thể được chuyển một cách an toàn giống như tham số URL. Lý do là tên tệp có thể bao gồm các ký tự URL không an toàn. Toàn bộ mã tải xuống. php, buộc tải xuống hình ảnh trông như sau

Các định dạng tệp khác như pdf, doc, v.v. cũng có thể được tải xuống theo cách đã trình bày ở trên

Điều quan trọng cần lưu ý là trong ví dụ trên, biểu thức chính quy [dòng 8] không cho phép các tệp có tên bắt đầu hoặc kết thúc bằng dấu chấm [. ]. Ví dụ: bạn có thể sử dụng tên tệp như sách. jpg hoặc Sách. jpg nhưng không thể sử dụng sách. jpg. ,. diều. jpg, v.v.

Thông thường, bạn không nhất thiết phải sử dụng bất kỳ ngôn ngữ kịch bản phía máy chủ nào như PHP để tải xuống hình ảnh, tệp zip, tài liệu pdf, tệp exe, v.v. Nếu loại tệp đó được lưu trữ trong một thư mục có thể truy cập chung, bạn chỉ cần tạo một siêu liên kết trỏ đến tệp đó và bất cứ khi nào người dùng nhấp vào liên kết, trình duyệt sẽ tự động tải xuống tệp đó

Download Zip file
Download PDF file
Download Image file
Download EXE file

Nhấp vào liên kết trỏ đến tệp PDF hoặc tệp Hình ảnh sẽ không trực tiếp tải xuống ổ cứng của bạn. Nó sẽ chỉ mở tệp trong trình duyệt của bạn. Hơn nữa bạn có thể lưu nó vào ổ cứng của bạn. Tuy nhiên, các tệp zip và exe được tự động tải xuống ổ cứng theo mặc định

Buộc tải xuống bằng PHP

Bạn có thể buộc hình ảnh hoặc các loại tệp khác tải trực tiếp xuống ổ cứng của người dùng bằng hàm PHP readfile[]. Ở đây chúng ta sẽ tạo một thư viện hình ảnh đơn giản cho phép người dùng tải xuống các tệp hình ảnh từ trình duyệt chỉ bằng một cú nhấp chuột

Hãy tạo một tệp có tên "image-gallery. php" và đặt đoạn mã sau vào bên trong nó





Simple Image Gallery



    ';
            echo '';
            echo '

Download

'; echo '

'; } ?>

Nếu bạn xem kỹ đoạn mã ví dụ trên, bạn sẽ thấy liên kết tải xuống có dạng "tải xuống. php", URL cũng chứa tên tệp hình ảnh dưới dạng chuỗi truy vấn. Ngoài ra, chúng tôi đã sử dụng hàm PHP urlencode[] để mã hóa tên tệp hình ảnh để nó có thể được chuyển an toàn dưới dạng tham số URL, vì tên tệp có thể chứa các ký tự URL không an toàn

Đây là mã hoàn chỉnh của "tải xuống. php", buộc tải xuống hình ảnh

Tương tự, bạn có thể buộc tải xuống các định dạng tệp khác như tệp word doc, tệp pdf, v.v.

Biểu thức chính quy trong ví dụ trên [dòng số 8] sẽ đơn giản là không cho phép những tệp có tên bắt đầu hoặc kết thúc bằng ký tự dấu chấm [.], ví dụ: nó cho phép các tên tệp như kites.jpg hoặc Kites.jpg, myscript.min.js nhưng không

Làm cách nào để tạo một tệp có thể tải xuống bằng PHP?

PHP cho phép bạn tải xuống tệp dễ dàng bằng hàm readfile[] tích hợp. Hàm readfile[] đọc một tệp và ghi nó vào bộ đệm đầu ra. .

Chủ Đề