The Soda Pop

CuDemVN.Wap.Sh

- GetSmile.Mobie.In - Diễn đàn chia sẻ Cú đêm Việt Nam
- AiChat.Wap.Sh - Diễn đàn Xtgem Việt Nam
- HamTruyen.Xtgem.Com - Blog Ham Truyện nơi hội tụ của những tín đồ mê truyện chữ
* Trang chủ >> WapMaster
Tìm Kiếm Thảo Luận
↓↓

Share code PHP lấy định dạng thực của File qua URL

Admin* RoSino18k *
* 13-08-2017
Tiếp tục với code wap upload, code phục vụ cho wap upload thì ở bài trước mình đã hướng dẫn các bạn *get kích thước file qua URL thì trong bài viết này mình sẽ hướng dẫn lấy định dạng thực của file qua URL. Không giống hàm pathinfo() trả về extension (phần mở rộng) của tệp tin, hàm này sẽ trả về MIME type mà không chịu ảnh hưởng của tên tệp tin. Có tí gọi là chống đỡ up mã độc lên hệ thống, tất nhiên pro có nhiều cách để họ lách qua nhưng mình không biết. Hàm này sẽ sử dụng class finfo PHP hỗ trợ sẵn cùng thông số FILEINFO_MIME_TYPE, kiểm tra được cả file từ Xtgem:
<?php
// hàm lấy định dạng file qua URL (mime type)
function getUrlMimeType($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
curl_close($ch);
preg_match('/xthotlink\=(.*?)\"/', $html, $match);
if(isset($match[1])){
$buffer = file_get_contents($url.'?xthotlink='.$match[1]);
} else {
$buffer = file_get_contents($url);
}
$finfo = new finfo(FILEINFO_MIME_TYPE);
return $finfo->buffer($buffer);
}
echo getUrlMimeType('http://cudemvn.wap.sh/images/picture/apple.png');
?>

Ngoài ra PHP cũng hỗ trợ 1 hàm là mime_content_type(), Hàm mime_content_type() trả về định dạng của tập tin local, không hỗ trợ URL đầy đủ!

<?php
echo mime_content_type('php.gif') . "";
echo 
mime_content_type('test.php');
?>

Kết quả là: image/gif 
text/plain

Các kết quả trả về của hàm mime_content_type():
'txt' =>'text/plain', 
'htm' =>'text/html', 
'html' =>'text/html', 
'php' =>'text/html', 
'css' =>'text/css', 
'js' =>'application/javascript', 
'json' =>'application/json', 
'xml' =>'application/xml', 
'swf' =>'application/x-shockwave-flash', 
'flv' =>'video/x-flv', 

// images 
'png' =>'image/png', 
'jpe' =>'image/jpeg', 
'jpeg' =>'image/jpeg', 
'jpg' =>'image/jpeg', 
'gif' =>'image/gif', 
'bmp' =>'image/bmp', 
'ico' =>'image/vnd.microsoft.icon', 
'tiff' =>'image/tiff', 
'tif' =>'image/tiff', 
'svg' =>'image/svg+xml', 
'svgz' =>'image/svg+xml', 

// archives 
'zip' =>'application/zip', 
'rar' =>'application/x-rar-compressed', 
'exe' =>'application/x-msdownload', 
'msi' =>'application/x-msdownload', 
'cab' =>'application/vnd.ms-cab-compressed', 

// audio/video 
'mp3' =>'audio/mpeg', 
'qt' =>'video/quicktime', 
'mov' =>'video/quicktime', 

// adobe 
'pdf' =>'application/pdf', 
'psd' =>'image/vnd.adobe.photoshop', 
'ai' =>'application/postscript', 
'eps' =>'application/postscript', 
'ps' =>'application/postscript', 

// microsoft office 
'doc' =>'application/msword', 
'rtf' =>'application/rtf', 
'xls' =>'application/vnd.ms-excel', 
'ppt' =>'application/vnd.ms-powerpoint', 

// open office 
'odt' =>'application/vnd.oasis.opendocument.text', 
'ods' =>'application/vnd.oasis.opendocument.spreadsheet' 

Riêng đối với file hình ảnh có thể kiểm tra bằng hàm *getimagesize() hoặc *exif_imagetype()

Chúc các bạn thành công!! Bảo mật cho wap upload là vô cùng quan trọng vì thế hãy biết ứng dụng code hợp lý cho wap của mình nhé!!

Nguồn: RoSino18k - cudemvn
↑↑ Lượt xem: 152
score
Đánh giá: 4.5/ 5, 152 bình chọn
- Chia sẻ:G  T
BBCode:

Link:
+ Còn “nhiều” Lắm!
+

Share code Diễn đàn trên Xtgem Full chức năng cực chất GetSmile.Mobie.In bởi Cú Đêm Việt Nam

+

Share code PHP hiển thị thông tin khách đang online trên Site

+

Sử dụng HTML và CSS tạo hiệu ứng hiển thị mô tả khi di chuột vào hình ảnh

+

Ajax là gì? Hướng dẫn code cơ bản khi xử lý dữ liệu với jQuery Ajax

+

Share full code PHP bộ tool cài đặt và quản lý Filelist KhoTruyen365 Xtgem

Trang chủ Cú Đêm Việt Nam Trang Chủ[1-1-152]