Jump to content
php.lv forumi
Sign in to follow this  
Wuu

faila formāts ,jeb extension

Recommended Posts

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 :(

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
<?php

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

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

?>

Edited by blackhalt

Share this post


Link to post
Share on other sites

blackhalt: ko tavs kods atgriezīs faila vārdam ".foobar" ? Imho tādam faila vārdam nav paplašinājuma.

Share this post


Link to post
Share on other sites

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

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

Edited by marcis

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Ja jau tik smalki, tad:

 

un.ko.nu.tar.gz

Share this post


Link to post
Share on other sites

BH:

nu.tad.ir.baigie.tuudi.fs.tar.gz.enc

 

Es parasti izmantoju:

pathinfo($filename,PATHINFO_EXTENSION);

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...