Stejná koncovka souboru, ale rozdílný typ souboru.

Problémy s otevíráním, kopírováním a dalšími operacemi s obecnými soubory, včetně zálohování
Zamčeno
Zpráva
Autor
maca_milan
Příspěvky: 2
Registrován: 23 led 2016, 16:33

Stejná koncovka souboru, ale rozdílný typ souboru.

#1 Příspěvek od maca_milan »

Od DOSu jsem prošel snad všemi verzemi woken a po několika týdenním boji s WIN 8 jsem to vdal a skoncil na Linuxu :D . Není to tak dlouho, takže ještě občas válčím. Jedna s věc co mě irituje a s kterou si již dlouho nevím rady je typ souborů.
Mám několik souborů s HTML+PHP kódem s koncovkou .inc a každý soubor je jiného typu. Jeden je text/plain, jiný text/html a další application/x-php. Každý soubor pravděpodobně vzniknul jinde. Některé mohou být psané v PSPadu, jiné ve všem možném v Mintu (stále hledám ideální editor :D ). S tím, že se každý otevře v něčem jiném bych se popasoval, s jinou ikonou také, ale že se v editoru musím vždy přepínat zvýrazňovač na PHP s tím i si rady nevím. Koncovkou se to očividně neřídí ... Když vemu soubor application/x-php a vložím tam obsah souboru text/plain, tak soubor zůstane jako php. Takže podle obsahu to také nebude. Když text/plain přejmenuji na .php tak se typ změní na x-php, ale jakmile ho přejmenuji zpět na .inc je z něj zase text/plain. Jediné co mě napadá, je že v souborovém sytému se nějak ukládá něco jako magic number.
Jak ten typ změním? A jak tomuhle guláši předcházet?
Kernel: 3.16.0-38-generic x86_64 (64 bit) Desktop: Cinnamon 2.6.13 Distro: Linux Mint 17.2 Rafaela
Díky za jakýkoliv nápad, Maca

segfault
Příspěvky: 494
Registrován: 29 dub 2013, 21:25

Re: Stejná koncovka souboru, ale rozdílný typ souboru.

#2 Příspěvek od segfault »

U textových souborů se žádná magická čísla neukládají. Jejich MIME typ se odhaduje z kombinace koncovky a obsahu.

Je-li soubor bez koncovky, pak se jedno o text/plain. Pokud se přidá koncovka php, pak je soubor typu application/x-php atd.

Žádná magie v tom není.

Vývojáři, kteří to myslí vážně, určitě nepoužívají obyčejné textové editory, ale vim, nebo rovnou nějaké IDE (např. Eclipse https://eclipse.org/)
Fedora 32 MATE 64bit; kernel 5.8.11
CPU: Ryzen 9 3600X (12 core); RAM: 32 GiB

maca_milan
Příspěvky: 2
Registrován: 23 led 2016, 16:33

Re: Stejná koncovka souboru, ale rozdílný typ souboru.

#3 Příspěvek od maca_milan »

Že MIME se odhaduje z koncovky a obsahu mě také napadlo. To je ale v kontrastu s tím, že když obsah souboru, co je typu php, nahradím obsahem souboru typu text, tak zůstane jako typ php, jak jsem již psal. Dva obsahem naprosto totožné soubory, oba s koncovkou inc a jeden je text a druhý php...
Ve Windows jsem používal PSPad, což bych obyčejným textovým editorem nenazval, ale budiž. Koketoval jsem s i NetBeans, ale na používaném, i když dle mého dostatečně výkonném stroji, to bylo utrpení.
V Linuxu Gedit, ten mi nějak nevyhovoval. Momentálně používám Geany u kterého postrádám adresářový strom, ale zdá se že to řeší nějaký plugin. U Geany také ještě zápasím s projekty, nějak nefungují dle představ. Ještě hodlám vyzkoušet Sublime Text a na vaše doporučení zkusím Anjutu a Bluefish. VIM by mi možná vyhovoval, kdybych s ním uměl :) . Narazil jsem na něj v konzoli v Debianu. Na první den s Linuxem to byl celkem šok :D . Naštěstí jsem objevil nano a Linux nezatratil.
Každopádně v čem píšu je nepodstatné. I když ten soubor otvírám v Geany, tak je mu nastaven špatný typ. Pak koukám co se děje, protože to má blbou barvu a já se spletl a napsal kód jinam :D
Pokud je to jak opravdu píšete, tak mám v systému někde botu, kvůli které se mi to chová tak podivně. Pokud to funguje tak, že .inc je přiřazeno více typům a MIME se pak určuje podle obsahu, tak by asi pomohlo přejít na .php.
Nejsem profesionální vývojář, živí mě ruce, jsem obyčejný dělník. Programuji pro sebe, své potěšení. Mám potřebu stále se nějak rozvíjet, vzdělávat a tohle mě celkem naplňuje.
Každopádně díky, jsem velice mile překvapen. O takovéhle podpoře, se wokýnkářům může jen zdát.

Zamčeno