Jump to content
php.lv forumi

faila formāts ,jeb extension


Recommended Posts

Posted

Nevaru atrast idiāli strādājošu funkciju lai izvadītu faila formātu! Lai ņemtu failus kuros nosaukuma ir vairāki punkti svītras utt.. Un lai atpazīst gan 3 burtu gan 4 burtu utt...

 

Lia no $_FILES['userfile']['name'] varētu dabūt ārā :) Savādāk nezinu kādā formātā glabāt :(

Posted

1) atrodi pēdējo punkta pozīciju stringā, ja tā >0, tad viss, kas seko aiz tā ir paplašinājums (ja tā ir <=0, tad failam nav paplašinājuma)

2) uztaisi explode pēc ".", ja rezultāta masīvā ir vairāk kā viens elements, tad pēdējais elements ir paplašinājums

Posted (edited)
<?php

$filename='baigi.trakais..-_fails..jpeg';

$ext=substr(strrchr($filename,'.'),1);
echo $ext;

?>

Edited by blackhalt
Posted (edited)

Ja nu baigi negribas izmantot pathinfo(), tad paliek tikai explode (no sakarīgākajiem variantiem).

$extension=end(explode(".",$_FILES['userfile']['name']));

Edited by marcis
Posted (edited)
blackhalt: ko tavs kods atgriezīs faila vārdam ".foobar" ? Imho tādam faila vārdam nav paplašinājuma.

 

Tie ir tie dotfaili. Uz nix tie ir slēptie faili. Mierīgi var būt ".html" un html arī ir faila paplašinājums.

 

Ir jau vēl arī šitādi brīnumi: http://txpress.blogspot.com/2006/11/create...in-windows.html

Edited by blackhalt
Posted

Hm.. man jau tas liekas muļķigi, ka tādi .XXX failiem nav nosaukuma, bet ir paplašinājums. Vai tad tiešām tas izklausās prātīgi, ja failiem ir paplašinājumu "bash_history", "bash_profile", "screenrc" ? Manā uzskatā tas ir otrādi - tiem nav paplašinājuma, bet ir tikai nosaukums (kas ietver arī punktu tā nosaukuma sākumā).

 

Iz wikipēdijas: http://en.wikipedia.org/wiki/Dot_files

hidden files' and directories' names are prepended with period

names are prepended with period! Tātad vārdam sākumā pielikts punkts, nevis paplašinājumam.

Posted

Ja jau tik smalki, tad:

 

un.ko.nu.tar.gz

Posted

Man slinkums pārbaudīt, bet tie kas izmanto vajadzētu zināt. Kā pathinfo strādā uz uploadotiem failiem - $_FILES['file']['tmp_name']?

Posted (edited)

Nu tā pat kā uz jebkuru citu stringu, tikai temp failam nav paplašinājuma.

 

Paplašinājumu tu tak tā pat ņemsi no $_FILES['file']['name']...

Edited by mad182
×
×
  • Create New...