Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tìm kiếm hình ảnh theo tên bên trong một thư mục?

Đây có vẻ như là một công việc cho toàn cầu , trả về một mảng tên tệp phù hợp với một mẫu được chỉ định. Tôi biết về câu trả lời khác vừa được đăng, nhưng hãy cung cấp một giải pháp thay thế cho regex.

Theo nhận xét hàng đầu trên trang tài liệu, những gì bạn có thể làm là như sau:

<?php
    $dirname = "photos";
    $filenames = glob("$dirname/*{380,381,382,383,384,385}*", GLOB_BRACE);

    foreach ($filenames as $filename)
    {
        echo $filename . "<br />";
    }
?>

GLOB_BRACE các tùy chọn cho phép bạn chỉ định danh sách các giá trị trong dấu ngoặc nhọn và dấu hoa thị xung quanh chúng cho phép các số đó xuất hiện ở bất kỳ đâu trong tên tệp. Sau đó, bạn có thể lặp lại mảng được trả về và làm bất cứ điều gì bạn muốn với $filename .

Bạn có thể sử dụng ví dụ của mình for vòng lặp để tự động tạo một chuỗi để chuyển tới glob .

Đây là kết quả đầu ra khi tôi chạy điều này trên thư mục thử nghiệm mà tôi đã thực hiện:

photos/380.zip
photos/asdf382ghj.txt
photos/385.bmp

Lưu ý rằng một tệp khác mà tôi đã đưa vào đó, a386b.xlsx , không khớp với mẫu và không xuất hiện trong danh sách.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đối sánh toàn bộ từ với các ký tự dấu chấm trong MySQL

  2. Các bản ghi mới kể từ truy vấn cuối cùng trong MySQL View

  3. Thực thi thủ tục lưu trữ MySQL bằng dòng lệnh

  4. Giới hạn tải lên tài liệu

  5. Thêm nhiều cột trong MySQL bằng một câu lệnh