Hướng dẫn dùng echo path trong PHP

Có thể Lấy đường dẫn file trong php hay không? Có những loại đường dẫn khác nhau nào? Nếu bạn đang gặp khó khăn hãy theo dõi ngay bài viết của xaydungweb.vn để cùng giải đáp những khó khăn ngay nhé.

Nội dung chính

  • Đường dẫn tuyệt đối là gì?
  • Các thao thác với thư mục trong PHP
  • Cách tạo một thư mục mới bằng PHP – Lấy đường dẫn file trong php
  • Bí quyết sao chép tệp từ vị trí này sang vị trí khác trong PHP
  • Liệt kê toàn bộ các file trong một thư mục trong PHP

Đường dẫn tương đối là đường dẫn có điểm bắt nguồn từ thư mục hiện tại đang đứng. Chẳng hạn như bạn đang ở folder public và bạn mong muốn trỏ tới một tệp tên là index.php nằm trong thư mục public thì lúc này đường dẫn chúng ta sẽ là /index.php.

Để di chuyển lùi một folder trong đường dẫn tương đối thì ta dùng ký tự ../.

Ví dụ: Cho cấu trúc folder như sau

Hướng dẫn dùng echo path trong PHP

Các thư mục

Giả sử ta đang ở tệp cate.php nằm trong thư mục course. Bây giờ muốn truy tìm qua tệp post.php nằm trong thư mục blog thì lúc này đường dẫn tương đối sẽ là:

Còn truy xuất file post.php nằm trong thư mục course sẽ cùng cấp có thể đường dẫn lúc này là:

Khi các nàng dùng PHP để đọc hay viết tệp thì phải dùng đường dẫn tương đối nhé.

Xem thêm Nên sử dụng phần mềm thiết kế web đơn giản nào?

Đường dẫn tuyệt đối là gì?

Đường dẫn tuyệt đối là đường dẫn có đầu đủ cấu trúc của URL của một site.

Chẳng hạn như: Các đường dẫn tuyệt đối sau

  • https://freetuts.net
  • https://freetuts.net/hoc-php

Cũng giống như với đường dẫn tương đối bạn muốn trở về một folder thì hãy sử dụng ký tự ../.

Chẳng hạn nhưhttps://freetuts.net/public/../demo sẽ tương tự với https://freetuts.net/demo

Thường thường khi chúng ta thu thập thông tin từ một website khác thì sẽ dùng đường dẫn tuyệt đối bởi vì code PHP không hề có quyền truy xuất trực tiếp một tệp ở Server khác.

Xem thêm Danh sách website vệ tinh – Guest post hỗ trợ SEO của ATP Software

Các thao thác với thư mục trong PHP

Cách tạo một thư mục mới bằng PHP – Lấy đường dẫn file trong php

Để tạo một thư mục mới bạn sử dụng hàm mkdir() của PHP với đường dẫn và tên của thư mục sẽ được tạo, như trong ví dụ dưới đây:

kiểm duyệt thư mục đã tồn tại hay chưa
if(!file_exists($dir))
    // Tạo một thư mục mới
    if(mkdir($dir))
        echo "Tạo thư mục thành công.";
     else
        echo "ERROR: Không thể tạo thư mục.";
    
 else
    echo "ERROR: Thư mục đã tồn tại.";

?>

Lưu ý: Để làm cho hàm mkdir() công việc, các thư mục cha trong tham số đường dẫn thư mục phải tồn tạiví dụnếu bạn chỉ định đường dẫn thư mục là testdir/subir thì thư mục testdir phải hiện hữu nếu không PHP sẽ báo lỗi.

Bí quyết sao chép tệp từ vị trí này sang vị trí khác trong PHP

Các thao tác với file trong PHP

Bạn có khả năng sao chép một file từ vị trí này sang vị trí khác bằng cách gọi hàm copy() trong PHP với các đường dẫn nguồn và đích của file làm đối số.

Nếu file đích đã xuất hiện, nó sẽ bị ghi đè. đây chính là một chẳng hạn như tạo ra một bản sao của tệp ‘example.txt’ trong thư mục sao lưu.

tệp nguồn
$file = "example.txt";
 
// Đường dẫn file đích
$newfile = "backup/example.txt";
 
// kiểm tra tệp cần copy có hiện hữu hay không
if(file_exists($file))
    // Tạo file copy
    if(copy($file, $newfile))
        echo "Copy file thành công.";
     else
        echo "ERROR: File không thể copy.";
    
 else
    echo "ERROR: File không tồn tại.";

?>

Lưu ý: Để làm cho chẳng hạn như này hoạt động, thư mục đích được sao lưu và tệp nguồn (tức là thư mục backup) phải tồn tại nếu như không PHP sẽ báo lỗi.

Xem thêm Tổng hợp các bước để xây dựng 1 trang web mới nhất 2020

Liệt kê toàn bộ các file trong một thư mục trong PHP

Bạn có khả năng sử dụng hàm scandir() của PHP để liệt kê các tệp và thư mục bên trong đường dẫn đã chỉ định.

Chúng ta sẽ thử tạo một hàm tùy chỉnh để liệt kê đệ quy toàn bộ các tệp trong một thư mục bằng PHP.

Kịch bản này sẽ cực kì có ích nếu như bạn đang thực hiện công việc với cấu trúc thư mục được lồng sâu.

tệp trong một thư mục
function outputFiles($path)
    // kiểm duyệt thư mục có hiện hữu hay không
    if(file_exists($path) && is_dir($path))
        // Quét toàn bộ các file trong thư mục
        $result = scandir($path);
        
        // Lọc ra các thư mục hiện tại (.) và các thư mục cha (..)
        $files = array_diff($result, array('.', '..'));
        
        if(count($files) > 0)
            // Lặp qua mảng đã trả lại
            foreach($files as $file)
                if(is_file("$path/$file"))
                    // Hiển thị tên File
                    echo $file . "≪br>";
                 else if(is_dir("$path/$file"))
                    // Gọi đệ quy hàm nếu như tìm thấy thư mục
                    outputFiles("$path/$file");
                
            
         else
            echo "ERROR: không có tệp nào trong thư mục.";
        
     else 
        echo "ERROR: Thư mục không hiện hữu.";
    

 
// Gọi hàm
outputFiles("mydir");
?>

Trên đây là cách Lấy đường dẫn file trong php đúng đắn nhất. Hy vọng những thông tin trên sẽ hữu ích với tất cả mọi người. Cảm ơn mọi người đã theo dõi bài viết.

Hồng Quyên – Tổng hợp 

Tham khảo ( laptrinhvienphp.com, freetuts.net,… )