Làm việc với tệp và thư mục trong PHP

Just was curious to count files and lines in a project

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {

________số 8

      $scan_result = scandir( $dir );

rmdir( "testdir" );
0

rmdir( "testdir" );
1

rmdir( "testdir" );
2

rmdir( "testdir" );
3

rmdir( "testdir" );
4

rmdir( "testdir" );
5

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
0

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
1

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
2

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
3

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
4

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
5

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
6

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
7

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
8

  function DirLineCounter( $dir , $result = array('lines_html' => false, 'files_count' => false, 'lines_count' => false ), $complete_table = true )
  {
9

      $file_read = array( 'php', 'html', 'js', 'css' );
      $dir_ignore = array();
0

      $file_read = array( 'php', 'html', 'js', 'css' );
      $dir_ignore = array();
1

      $file_read = array( 'php', 'html', 'js', 'css' );
      $dir_ignore = array();
2

      $file_read = array( 'php', 'html', 'js', 'css' );
      $dir_ignore = array();
3

Có kiến ​​thức để làm việc hiệu quả với các tệp và thư mục là điều quan trọng đối với bất kỳ lập trình viên nào muốn vượt qua những điều cơ bản về PHP. Với khóa học này, Kevin Skoglund bao gồm các kỹ năng tệp quan trọng mà bất kỳ nhà phát triển PHP nào cũng cần có. Anh ấy cho biết cách đọc từ tệp, ghi vào tệp, tìm kiếm thư mục, thay đổi quyền và tạo biểu mẫu để người dùng từ xa có thể tải tệp lên. Anh ấy cũng chia sẻ một số phương pháp hay nhất của mình và minh họa các bài học của mình thông qua các thử thách viết mã mà bạn có thể làm theo hoặc chỉ cần ngồi lại và xem. Sau khi xem khóa học của Kevin, bạn sẽ có thể áp dụng các kỹ năng mới của mình vào các dự án của riêng bạn

Hiển thị thêm Hiển thị ít hơn

PHP. tập tin và thư mục từ Mayuri Bhandari

Bây giờ bạn có thể kiểm tra, đọc và ghi vào tệp, hãy chuyển sự chú ý của bạn sang các thư mục. PHP cung cấp nhiều hàm để làm việc với thư mục. Bạn sẽ xem cách tạo, xóa và đọc chúng

Tạo thư mục với mkdir()

mkdir() cho phép bạn tạo một thư mục. mkdir() yêu cầu một chuỗi biểu thị đường dẫn đến thư mục bạn muốn tạo và một số nguyên phải là số bát phân biểu thị chế độ bạn muốn đặt cho thư mục. Bạn chỉ định một số bát phân (cơ số 8) với số 0 đứng đầu. Đối số chế độ sẽ chỉ có tác dụng trên các hệ thống Unix. Chế độ phải bao gồm ba số từ 0 đến 7, tương ứng thể hiện các quyền đối với chủ sở hữu thư mục, nhóm và mọi người. Hàm này trả về true nếu nó tạo thành công một thư mục hoặc false nếu nó không tạo. Nếu mkdir() không thành công, điều này thường là do thư mục chứa có các quyền không cho phép ghi các quá trình có ID người dùng của tập lệnh. Nếu bạn không thoải mái với việc đặt quyền truy cập thư mục Unix, bạn sẽ thấy rằng một trong những ví dụ dưới đây phù hợp với nhu cầu của bạn. Trừ khi bạn thực sự cần thư mục của mình có thể ghi trên thế giới, có lẽ bạn nên sử dụng 0755, cho phép thế giới đọc thư mục của bạn nhưng không ghi vào đó

mkdir( "testdir", 0777 ); // global read/write/execute permissions
mkdir( "testdir", 0755 ); // world and group: read/execute only
             // owner: read/write/execute

Xóa thư mục bằng rmdir()

rmdir() cho phép bạn xóa một thư mục khỏi hệ thống tệp, nếu quy trình đang chạy tập lệnh của bạn có quyền làm như vậy và nếu thư mục trống. rmdir() chỉ yêu cầu một chuỗi đại diện cho đường dẫn đến thư mục bạn muốn tạo

rmdir( "testdir" );

Mở thư mục để đọc với opendir()

Trước khi bạn có thể đọc nội dung của một thư mục, trước tiên bạn phải có được một tài nguyên thư mục. Bạn có thể làm điều này với hàm opendir(). opendir() yêu cầu một chuỗi đại diện cho đường dẫn đến thư mục bạn muốn mở. opendir() trả về một xử lý thư mục trừ khi thư mục không có hoặc không thể đọc được, trong trường hợp đó, nó trả về false

$dh = opendir( "testdir" );

Đọc nội dung của một thư mục với readdir()

Giống như bạn sử dụng get() để đọc một dòng từ tệp, bạn có thể sử dụng readdir() để đọc tên tệp hoặc thư mục từ một thư mục. readdir() yêu cầu xử lý thư mục và trả về một chuỗi chứa tên mục. Nếu đã đến cuối thư mục, readdir() trả về false. Lưu ý rằng readdir() chỉ trả về tên của các mục của nó, thay vì đường dẫn đầy đủ. Liệt kê 10. 14 hiển thị nội dung của một thư mục

Liệt kê 10. 14 Liệt kê nội dung của một thư mục với readdir()

 1: 
 2: 
 3: Listing 10.14 Listing the contents 
 4: of a directory with readdir()
 5: 
 6: 
 7: ";
15: }
16: closedir( $dh );
17: ?>
18: 
19: 

Chúng ta mở thư mục để đọc bằng hàm opendir() ở dòng 9 và sử dụng câu lệnh while để lặp qua từng phần tử của nó ở dòng 11. Chúng tôi gọi readdir() như một phần của biểu thức kiểm tra câu lệnh while, gán kết quả của nó cho biến $file. Trong phần thân của câu lệnh while, chúng ta sử dụng biến $dirname kết hợp với biến $file để tạo một đường dẫn tệp đầy đủ, sau đó chúng ta có thể kiểm tra đường dẫn này trên dòng 12. Nếu đường dẫn dẫn đến một thư mục, chúng ta in " " ra trình duyệt ở dòng 13. Cuối cùng, chúng tôi in tên tệp trên dòng 15

Chúng tôi đã sử dụng một cấu trúc thận trọng trong bài kiểm tra câu lệnh while. Hầu hết các lập trình viên PHP (bao gồm cả tôi) sẽ sử dụng một cái gì đó như sau

while ( $file = readdir( $dh ) ) {
   print "$file
\n"; }

Giá trị được trả về bởi readdir() sẽ được kiểm tra. Bởi vì bất kỳ chuỗi nào khác với "0" sẽ phân giải thành true, nên sẽ không có vấn đề gì. Tuy nhiên, hãy tưởng tượng một thư mục chứa bốn tệp "0", "1", "2" và "3". Đầu ra từ đoạn mã trước trên hệ thống của tôi như sau

.
..

Khi vòng lặp đến tệp có tên "0", chuỗi được trả về bởi readdir() sẽ chuyển thành false, khiến vòng lặp kết thúc. Cách tiếp cận trong Liệt kê 10. 14 sử dụng === để kiểm tra xem giá trị trả về được trả về bởi readdir() không chính xác tương đương với false. 0 chỉ giải quyết sai trong thử nghiệm, vì vậy chúng tôi tránh được sự cố

Tệp và thư mục trong PHP là gì?

Các hàm thư mục PHP như tên gợi ý của chúng là một tập hợp các hàm được sử dụng để truy xuất chi tiết, sửa đổi chúng và tìm nạp thông tin trên các thư mục hệ thống tệp khác nhau và nội dung cụ thể của chúng.

Làm cách nào để đọc tệp trong thư mục trong PHP?

Hàm PHP readdir() .

Làm thế nào các thư mục được sử dụng trong PHP?

Có thể tạo một thư mục mới trong PHP bằng hàm mkdir() . Hàm này lấy một đường dẫn đến thư mục được tạo. Để tạo một thư mục trong cùng thư mục với tập lệnh PHP của bạn, chỉ cần cung cấp tên thư mục. Để tạo một thư mục mới trong một thư mục khác, hãy chỉ định đường dẫn đầy đủ khi gọi mkdir().

Tệp và thư mục là gì?

Bộ sưu tập tệp được lưu trữ trong thư mục . Các tập hợp tệp này thường liên quan đến nhau; . Tệp là một tập hợp dữ liệu có thể được đọc hoặc ghi vào.