Kiểm tra PHP nếu tệp không tồn tại

Giả sử rằng, trong ứng dụng PHP của bạn, bạn muốn kiểm tra xem có tồn tại một tệp cụ thể hoặc một thư mục nhất định hay không

Cách tốt nhất để làm điều đó là gì?

File tồn tại

Để kiểm tra xem một tệp (hoặc thư mục) có tồn tại trong PHP hay không, hãy sử dụng hàm file_exists filesystem

file_exists(path) : bool

Hàm, như bạn có thể thấy từ định nghĩa ở trên, trả về một giá trị boolean

  • Nếu tệp (hoặc thư mục) tồn tại, nó sẽ trả về true
  • Nếu không, nó sẽ trả về false

Hàm file_exists được hỗ trợ bởi PHP 4, PHP 5, PHP 7 và PHP 8, có nghĩa là bạn có thể sử dụng nó trong bất kỳ ứng dụng PHP hiện đại nào mà không cần lo lắng về tính tương thích

Hãy nhớ rằng kết quả của chức năng này được lưu trữ. Điều này có nghĩa là, trừ khi bạn sử dụng hàm clearstatcache, file_exists có thể hoạt động không mong muốn và trả về thông tin không chính xác

(Chức năng clearstatcache, đối với những người bạn có thể không quen thuộc với nó, sẽ xóa bộ đệm trạng thái tệp. )

Sử dụng chức năng

Để sử dụng hàm file_exists, bạn cần chỉ định đường dẫn đến tệp (hoặc thư mục) mà bạn muốn tìm

Để xuất Đúng hoặc Sai

Bạn có thể làm điều này bằng cách mã hóa cứng đường dẫn dưới dạng một chuỗi

<?php
// Check if your file exists
echo file_exists("my_file.txt");
?>

Hoặc bằng cách chuyển nó vào hàm dưới dạng tham số

<?php
// Define the path to your file
$path_to_file = "/path/to/my_file.txt";

// Check if your file exists
echo file_exists($path_to_file);
?>

Truyền đường dẫn dưới dạng tham số hầu như luôn tốt hơn so với mã hóa cứng nó trong hàm của bạn

Bằng cách chọn đi theo lộ trình này, bạn có thể sử dụng lại chức năng cho nhiều tệp hoặc thư mục và bạn có thể xác định động đường dẫn đến các tệp hoặc thư mục đó. Điều này làm cho ứng dụng PHP của bạn dễ bảo trì hơn và dễ mở rộng hơn

Trong cả hai ví dụ của chúng tôi ở trên, hàm sẽ xuất ra màn hình true hoặc false dựa trên kết quả

Trong một kiểm tra có điều kiện

Thay vì xuất kết quả của hàm file_exist ra màn hình, bạn cũng có thể thực hiện kiểm tra có điều kiện với nó, cho phép bạn sử dụng kết quả để chạy mã khác

<?php
// Define the path to your file
$path_to_file = "/path/to/my_file.txt";

// Check if your file exists
// If it does, do this
if (file_exists($path_to_file)) {
    echo "Hooray, the file exists!";
}
// If it doesn't, do this
else {
    echo "Whoops, no such file exists!";
}
?>

Hầu hết thời gian, bạn có thể sẽ thực hiện kiểm tra có điều kiện với hàm file_exists thay vì xuất kết quả của nó ra màn hình

Xét cho cùng, giá trị của hàm này không nằm ở giá trị boolean mà nó trả về, mà ở logic, nó cho phép bạn phát triển dựa trên nó

Xóa bộ nhớ cache

Như tôi đã đề cập ở đầu bài viết này, kết quả của hàm file_exists được lưu vào bộ đệm

Nếu bạn đã chạy file_exists một lần cho một tệp hoặc thư mục và có gì đó thay đổi (ví dụ: tệp hoặc thư mục được tạo hoặc xóa sau đó), nó sẽ trả về thông tin không chính xác trừ khi bạn xóa bộ nhớ đệm bằng cách sử dụng Clearstatcache trước khi chạy lại.

Hôm nay mình muốn chia sẻ với các bạn file php tồn tại. Trong bài đăng này, chúng tôi sẽ chỉ cho bạn Hàm file_exists() kiểm tra xem một tệp hoặc thư mục có tồn tại hay không. , hãy nghe cách kiểm tra xem tệp có tồn tại hay không bằng các hàm file_exists(), is_readable() và is_writable(). chúng tôi sẽ cung cấp cho bạn bản demo và ví dụ để thực hiện. Trong bài đăng này, chúng ta sẽ tìm hiểu về Làm thế nào để tăng tên tệp nếu tệp đã tồn tại trong PHP?

PHP file_exists() Hàm

nội dung

Để kiểm tra xem một tập tin có tồn tại hay không, bạn sử dụng hàm file_exist()
Tệp PHP chỉ tồn tại

<?php
 
$your_fl_name = './testdemo.txt';
 
if(file_exists($your_fl_name)){
 echo sprintf('file %s exist',$your_fl_name);
}else{
 echo sprintf('file %s does not exist',$your_fl_name);
}

Tập lệnh kiểm tra xem testdemo. txt tồn tại trong cùng thư mục với tệp script
Tệp PHP tồn tại và có thể đọc được

<?php 
$your_fl_name = './testdemo.txt';
 
if(is_readable($your_fl_name)){
 echo sprintf('file %s exist and readable',$your_fl_name);
}else{
 echo sprintf('file %s does not exist or is not readable',$your_fl_name);
}

Tệp PHP tồn tại và có thể ghi

<?php
$your_fl_name = './testdemo.txt';
 
if(is_writable($your_fl_name)){
 echo sprintf('file %s exist and writable',$your_fl_name);
}else{
 echo sprintf('file %s does not exist or is not writable',$your_fl_name);
}

Kịch bản kiểm tra xem liệu. /testdemo. txt tồn tại và có thể ghi được

Làm cách nào để kiểm tra xem tệp từ xa có tồn tại bằng PHP không?

Đó là kiểm tra xem tệp hoặc thư mục/thư mục có tồn tại trên máy chủ web trực tiếp hay không. Nhưng hàm file_exists() sẽ không sử dụng được nếu bạn muốn kiểm tra sự tồn tại của tệp trên máy chủ từ xa

Làm cách nào để kiểm tra xem tệp có tồn tại hay không trong PHP?

Hàm file_exists() kiểm tra xem tệp hoặc thư mục có tồn tại không. Ghi chú. Kết quả của chức năng này được lưu trữ. Sử dụng clearstatcache() để xóa cache.

Làm cách nào để kiểm tra xem một thư mục có tồn tại hay không trong PHP?

Hàm PHP is_dir() . Ghi chú. Kết quả của chức năng này được lưu trữ. Sử dụng clearstatcache() để xóa cache.

Hàm Is_file trong PHP là gì?

Hàm is_file() trong PHP là hàm có sẵn dùng để kiểm tra xem tệp được chỉ định có phải là tệp thông thường hay không . Tên của tệp được gửi dưới dạng tham số cho hàm is_file() và nó trả về True nếu tệp là tệp thông thường, ngược lại nó trả về Sai.

Làm cách nào để kiểm tra xem một hình ảnh có tồn tại trong PHP không?