Mọi người từ các ngôn ngữ kịch bản khác luôn nghĩ rằng ngôn ngữ của họ tốt hơn vì họ có chức năng tích hợp sẵn để làm điều đó chứ không phải PHP [tôi đang xem Pythonistas ngay bây giờ. -]]
Thực tế nó có tồn tại nhưng ít người biết. Gặp gỡ pathinfo[]
$ext = pathinfo[$filename, PATHINFO_EXTENSION];
Điều này là nhanh chóng và tích hợp sẵn. pathinfo[]
có thể cung cấp cho bạn thông tin khác, chẳng hạn như đường dẫn chính tắc, tùy thuộc vào hằng số bạn chuyển đến nó
Hãy nhớ rằng nếu bạn muốn có thể xử lý các ký tự không phải ASCII, trước tiên bạn cần đặt ngôn ngữ. e. G
setlocale[LC_ALL,'en_US.UTF-8'];
Ngoài ra, lưu ý rằng điều này không tính đến nội dung tệp hoặc loại mime, bạn chỉ nhận được phần mở rộng. Nhưng đó là những gì bạn yêu cầu
Cuối cùng, lưu ý rằng điều này chỉ hoạt động đối với đường dẫn tệp, không phải đường dẫn tài nguyên URL, được bao phủ bằng PARSE_URL
Vui thích
Javascript – Cách bạn mã hóa một chuỗi thành Base64 trong JavaScript
Bạn có thể sử dụng btoa[]
và
setlocale[LC_ALL,'en_US.UTF-8'];
0 để chuyển đổi sang và từ mã hóa base64Dường như có một số nhầm lẫn trong các nhận xét về những gì các chức năng này chấp nhận/trả lại, vì vậy…
btoa[]
chấp nhận một “chuỗi” trong đó mỗi ký tự đại diện cho một byte 8 bit – nếu bạn chuyển một chuỗi chứa các ký tự không thể được biểu thị bằng 8 bit,. Đây không phải là vấn đề nếu bạn thực sự coi chuỗi là một mảng byte, nhưng nếu bạn đang cố gắng làm điều gì đó khác thì bạn sẽ phải mã hóa nó trước
0 trả về một “chuỗi” trong đó mỗi ký tự đại diện cho một byte 8 bit – nghĩa là giá trị của nó sẽ nằm trong khoảng từsetlocale[LC_ALL,'en_US.UTF-8'];
2 đến$extension = explode['/', mime_content_type[$base64_encoded_string]][1];
3. Điều này không có nghĩa là nó là ASCII – có lẽ nếu bạn đang sử dụng chức năng này, bạn sẽ làm việc với dữ liệu nhị phân chứ không phải văn bản$extension = explode['/', mime_content_type[$base64_encoded_string]][1];
Xem thêm
- Làm cách nào để tải dữ liệu hình ảnh nhị phân bằng Javascript và XMLHttpRequest?
Hầu hết các bình luận ở đây đã lỗi thời. Bạn có thể sử dụng cả btoa[]
và
setlocale[LC_ALL,'en_US.UTF-8'];
0, trừ khi bạn hỗ trợ các trình duyệt thực sự lỗi thời Nếu bạn biết một lượng tối thiểu về cấu trúc định dạng tệp, về mặt lý thuyết, bạn có thể xem xét các byte trên cùng của tệp cho đến khi bạn có thể tìm ra loại tệp đó.
Nội dung chính Hiển thị
Ví dụ: ảnh GIF luôn bắt đầu bằng byte sau
setlocale[LC_ALL,'en_US.UTF-8'];
5. Nếu bạn có thể tìm thấy chuỗi đó ở đầu tệp, bạn có thể chắc chắn một cách hợp lý rằng đó là ảnh GIF và hoàn toàn chắc chắn rằng đó không phải là bất kỳ định dạng ảnh nào khác. [tuy nhiên, nó vẫn có thể là một tệp văn bản, điều đó chỉ xảy ra khi bắt đầu bằng 'GIF89a'; bạn phải phân tích cú pháp nhiều tệp hơn để hoàn toàn chắc chắn]Tương tự như vậy, các tệp PNG có chuỗi
setlocale[LC_ALL,'en_US.UTF-8'];
6 khá gần đầu [không hoàn toàn ngay từ đầu; một lần nữa, bạn cần nghiên cứu các chi tiết cụ thể về định dạng tệp để giúp bạn xác định mức độ bạn cần biết để chắc chắn]JPEG cũng chứa các chuỗi dễ nhận biết trong tiêu đề của chúng, mặc dù chúng đa dạng và phức tạp hơn. Bạn có thể muốn tìm chuỗi
setlocale[LC_ALL,'en_US.UTF-8'];
7Nhận các định nghĩa định dạng tệp chắc chắn sẽ mang lại cho bạn độ chính xác cao hơn, nhưng tùy thuộc vào mức độ chính xác mà bạn cần, bạn có thể tìm hiểu đủ về các định dạng tệp chỉ bằng cách mở một số tệp hình ảnh trong trình chỉnh sửa nhị phân để xem cách chúng được cấu trúc
Những tài nguyên này có thể giúp bạn
http. //www. w3. org/Đồ họa/JPEG/
http. //www. w3. org/Đồ họa/PNG/
Trong hướng dẫn này, chúng tôi sẽ cho bạn biết cách xử lý hình ảnh được mã hóa bằng Base64 và ghi hình ảnh vào thư mục.
Trong khi chúng tôi làm việc với API cho ứng dụng web hoặc thiết bị di động, Bạn sẽ nhận thấy rằng họ sẽ gửi định dạng hình ảnh được mã hóa Base64. Vì vậy, trong trường hợp đó, bạn sẽ cần di chuyển hình ảnh được mã hóa Base64 sang máy chủ dưới dạng tệp hình ảnh. và phải lưu vào thư mục
Ví dụ lõi PHP
Tải base64 lên tệp trong Codeigniter
Bạn đang tìm cách lưu phía máy chủ hình ảnh PNG, từ chuỗi dữ liệu base64 hoặc không thể tải lên hình ảnh được mã hóa base64 bằng Codeigniter?
Chúng tôi đang tạo một số chức năng để sử dụng kiểm tra chuỗi base64 có hợp lệ hay không, kích thước và loại tệp
tạo ứng dụng tệp/thư viện/Base64fileUploads. php