Wuu Posted February 4, 2009 Report Posted February 4, 2009 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 :(
bubu Posted February 4, 2009 Report Posted February 4, 2009 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
Maris-S Posted February 4, 2009 Report Posted February 4, 2009 Varbūt ka funkcija pathinfo varētu arī noderēt.
ec.stasis Posted February 4, 2009 Report Posted February 4, 2009 iečeko šito http://lv.php.net/pathinfo
blackhalt Posted February 5, 2009 Report Posted February 5, 2009 (edited) <?php $filename='baigi.trakais..-_fails..jpeg'; $ext=substr(strrchr($filename,'.'),1); echo $ext; ?> Edited February 5, 2009 by blackhalt
bubu Posted February 5, 2009 Report Posted February 5, 2009 blackhalt: ko tavs kods atgriezīs faila vārdam ".foobar" ? Imho tādam faila vārdam nav paplašinājuma.
marcis Posted February 5, 2009 Report Posted February 5, 2009 (edited) Ja nu baigi negribas izmantot pathinfo(), tad paliek tikai explode (no sakarīgākajiem variantiem). $extension=end(explode(".",$_FILES['userfile']['name'])); Edited February 5, 2009 by marcis
blackhalt Posted February 5, 2009 Report Posted February 5, 2009 (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 February 5, 2009 by blackhalt
bubu Posted February 5, 2009 Report Posted February 5, 2009 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.
blackhalt Posted February 5, 2009 Report Posted February 5, 2009 Ja jau tik smalki, tad: un.ko.nu.tar.gz
mad182 Posted February 6, 2009 Report Posted February 6, 2009 BH: nu.tad.ir.baigie.tuudi.fs.tar.gz.enc Es parasti izmantoju: pathinfo($filename,PATHINFO_EXTENSION);
xPtv45z Posted February 6, 2009 Report Posted February 6, 2009 Man slinkums pārbaudīt, bet tie kas izmanto vajadzētu zināt. Kā pathinfo strādā uz uploadotiem failiem - $_FILES['file']['tmp_name']?
mad182 Posted February 6, 2009 Report Posted February 6, 2009 (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 February 6, 2009 by mad182
Recommended Posts