'ফাইল - মাইম-টাইপ' এবং 'মাইমটাইপ' কমান্ড বিভিন্ন ফলাফল প্রত্যাবর্তন করে


9

হাই, আমি এই বিষয়ে কাজ করার চেষ্টা করছি যে পিএইচপি কেন 'এমসওয়ার্ড' ফাইল টাইপ ফিরিয়ে দিচ্ছে যখন এটি 'এক্সেল' হওয়া উচিত তাই আমার উবুন্টু বাক্সে 'ফাইল' এবং 'মাইমটাইপ' কমান্ড দুটি ব্যবহার করে পরীক্ষা করে দেখেছি। নীচের ফলাফলগুলি থেকে আপনি দেখতে পাচ্ছেন যে তারা বিভিন্ন ফলাফল দেয়। কেন কেউ ব্যাখ্যা করতে পারেন?

root@dev:~# file --mime-type 1.xls
1.xls: application/msword
root@dev:~# mimetype 1.xls
1.xls: application/vnd.ms-excel

আমার মনে করা উচিত যে প্রশ্নে থাকা ফাইলটি একটি উইন্ডোজ সার্ভারে 'এমসওয়ার্ড' ফিরিয়ে দিচ্ছে। এটি PHPExcel ব্যবহার করে উত্পন্ন হয়েছিল।

আপনার সাহায্যের জন্য ধন্যবাদ.

উত্তর:


7

fileএর ফলাফল পায় /etc/mime.types

সেখান থেকে:

আবেদন / গণিত বয়সী
আবেদন / MS-tnef
অ্যাপ্লিকেশন / মিস্যাক্সেস এমডিবি
অ্যাপ্লিকেশন / এমএসওয়ার্ড ডক ডট
আবেদন / সংবাদ বার্তা- ID
আবেদন / সংবাদ সংক্রমণ
আবেদন / OCSP-অনুরোধ
আবেদন / OCSP প্রতিক্রিয়া

মাইমটাইপ এটি থেকে পেয়ে ...

ENVIRONMENT

   XDG_DATA_HOME
   XDG_DATA_DIRS
       These variables can list base directories to search for data files.
       The shared mime-info will be expected in the "mime" sub directory
       of one of these directories. If these are not set, there will be
       searched for the following directories:

               $HOME/.local/share/mime
               /usr/local/share/mime
               /usr/share/mime

       See also the "XDG Base Directory Specification"
       http://freedesktop.org/Standards/basedir-spec
       <http://freedesktop.org/Standards/basedir-spec>

মাইমটাইপের জন্য ম্যান পেজের এই অংশটি মূল্যবান:

স্যুইচ নামকরণের জন্য আমি সম্ভব হলে ফাইলের ম্যাপ পৃষ্ঠাটি (1) সংস্করণ 4.02 অনুসরণ করেছি। তারা আইইইই স্ট্যান্ডার্ড 1003.1-2001 (পসিক্স) এর 'ইউটিলিটিস' অধ্যায়ে অনুমান থেকে সম্পূর্ণ আলাদা বলে মনে হচ্ছে।

সুতরাং আপনি এটিকে ফাইলের বিরুদ্ধে বাগ হিসাবে ডাকতে পারেন /etc/mime.typesযেহেতু vnd.ms-excelআরও নির্ভুল।


দেখে মনে হচ্ছে আমি উইন্ডোজ এবং লিনাক্স উভয় ক্ষেত্রেই সমস্যার সাথে আটকে রয়েছি। ব্যাখ্যার জন্য ধন্যবাদ.
স্ক্যাম্পবেল

হ্যাঁ এবং এটি সম্পর্কে চিন্তাভাবনা করা হচ্ছে ... মাইমটাইপ সম্ভবত ডেস্কটপ কেবল তাই কোনও সার্ভারের সাথে ডিল করার সময় আপনি ফাইলটি ব্যবহার করতে যাচ্ছেন।
রিঞ্জউইন্ড

আমি 12.04 এ আছি এবং এটি প্রদর্শিত হচ্ছে সম্পাদনা /etc/mime.typesএর ফলাফলগুলিকে প্রভাবিত করে না file
কংগসবঙ্গাস

5

.debপ্যাকেজগুলির জন্য দুটি সরঞ্জামের মধ্যে একই রকম পার্থক্য রয়েছে ।

এটি উপস্থিত হয় যে ফাইলটি আরও জটিল ম্যাস ব্যবহার করে /etc/mime.typesএবং mimetypeব্যবহার করে XDG_DATA_DIRS(থেকে man mimetypes):

ENVIRONMENT
       XDG_DATA_HOME
       XDG_DATA_DIRS
           These variables can list base directories to search for data files. The shared mime-info will be expected in the "mime" sub directory of one of these directories. If these are not set,
           there will be searched for the following directories:

                   $HOME/.local/share/mime
                   /usr/local/share/mime
                   /usr/share/mime

           See also the "XDG Base Directory Specification" http://freedesktop.org/Standards/basedir-spec <http://freedesktop.org/Standards/basedir-spec>

FILES
       The base dir for all data files is determined by two environment variables, see "ENVIRONMENT".

       BASE/mime/packages/SOURCE.xml
           All other files are compiled from these source files. To re-compile them use update-mime-database(1).

       BASE/mime/globs
           Compiled information about globs.

       BASE/mime/magic
           Compiled information about magic numbers.

       BASE/mime/MEDIA/SUBTYPE.xml
           Descriptions of a mimetype in multiple languages, used for the "--describe" switch.

দেখে মনে হচ্ছে আমি উইন্ডোজ এবং লিনাক্স উভয় ক্ষেত্রেই সমস্যার সাথে আটকে রয়েছি। ব্যাখ্যার জন্য ধন্যবাদ. ক্ষমা প্রার্থনা করলাম আমি এনউসার হিসাবে 2 চিহ্ন চিহ্নিত করতে পারি না। দুজনেই স্পট ছিল।
স্ক্যাম্পবেল

1

এটি খুঁজে পেতে আমার কিছুটা সময় লেগেছে, তবে আমি ডেবিয়ানে মিমটাইপ ইনস্টল করতে সক্ষম হয়েছি।

sudo apt-get install libfile-mimeinfo-perl

এখন আমি application/vnd.ms-excelপরিবর্তে একটি। Xls জন্য পেতে application/msword


0

আপনি উল্লেখ করেছেন যে আপনি এটি পিএইচপি-তে করছেন। মাইম টাইপের ফাইল পাওয়ার সময় আমি এই ধরনের পার্থক্যের মুখোমুখি হয়েছি। তারা ভিন্ন হয়। এটি পিএইচপি-তে যথাযথভাবে করতে, আপনার ফিনফো ব্যবহার করা উচিত

$finfo = new finfo();
$mime = $finfo->file($path_to_file, FILEINFO_MIME);

ধন্যবাদ আমি ইতিমধ্যে এই ফাংশন ব্যবহার করছি। এটি ভুল ফর্ম্যাটটি দেয়। এই কারণেই আমি পরীক্ষা করছিলাম।
স্ক্যাম্পবেল

এটি কোন ফর্ম্যাট ফিরে আসে?
llt

আসল প্রশ্নটি দেখুন
স্ক্যাম্পবেল

আপনি সেখানে ফাইনফো ব্যবহার করেছেন বলে উল্লেখ করেননি। এটি কি এমএসওয়ার্ড ফেরত দেয়?
llt
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.