Ai đó có thể vui lòng giúp tôi với điều này preg_match
PHP biểu thức chính quy để phù hợp với một filepath
if (preg_match('~[^A-Za-z0-9_\./\]~', $filepath))
// Show Error message.
tôi cần phải phù hợp với một filepath càng tốt. Vì vậy, tôi cần phải kiểm tra xem có dấu gạch chéo kép vv Có giá trị chuỗi đường dẫn tập tin sẽ trông như thế chỉ này:
mydir/aFile.php
hoặc
mydir/another_dir/anyfile.js
Vì vậy, một dấu gạch chéo ở phần đầu của chuỗi này cần được kiểm tra cũng có. Hãy giúp tôi.
Cảm ơn :)
EDIT: Ngoài ra, chàng trai, con đường này đang được đọc từ bên trong một file văn bản. Nó không phải là một filepath trên hệ thống. Vì vậy, hy vọng nó sẽ có thể hỗ trợ tất cả các hệ thống trong trường hợp này.
RE-EDIT: Xin lỗi, nhưng chuỗi cũng có thể giống như thế này quá: myfile.php
, hoặc myfile.js
, hoặc myfile.anything
Làm thế nào để cho phép chuỗi như thế này cũng ?? Tôi xin lỗi vì không được quá cụ thể về vấn đề này trước khi ...
Chỉ có hai đường dẫn mẫu được bạn hiển thị? – codaddict
Bất kỳ phần mở rộng tệp nào phải được khớp. Không thể có bất kỳ dấu gạch chéo ở phía trước của chuỗi, và không thể có bất kỳ dấu gạch chéo ở cuối của chuỗi. Đó là giới hạn duy nhất đối với nó, và nó phải là các ký tự A-Z, a-z, 0-9, hoặc có và dấu gạch dưới hoặc một dấu chấm trong đó. Đó là tất cả. – SoLoGHoST
Đường dẫn hệ thống tệp nào nên hợp lệ? – Gumbo