Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] zmiana rozszerzenia z .php na nic
Setesh
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam mały problem - potrzebuję zamieniać rozszerzenie pliku z ".php" na nic czyli jak mamy plik "cos.php" to aby z tego zostało tylko "cos" ale nie wiem jak to zrobić (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Jest może w php jakaś funkcja typu ChangeFileExt ? jakoś na manualu nie mogę znaleźć:( Może ktoś mi podpowiedzieć jak się nazywa lub podać linka ?
Go to the top of the page
+Quote Post
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Rozszerzenie nie jest traktowane oddzielnie. Nazwa pliku to całość (nazwa + rozszerzenie).
Skorzystaj z Rename
Go to the top of the page
+Quote Post
Setesh
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Znalazłem skrypcik który by mógł mi to zrobić ale... on zmienia rozszerzenie na stałe a ja potrzebuję wyświetlić nazwę pliku bez rozszerzenia (np pliku w którym mam jakiś skrypt) poprzez np echo czyli :

np :

chciałbym zrobić sobie listę plików w katalogu z np wyłączoną opcją "Wyświetlaj rozszerzenia" czyli ma pokazać zamiast "plik12.php" to wyświetlić "plik12" czyli sama zmiana rozszerzenia na sucho na zasadzie że do zmiennej pobieramy nazwę pliku (z rozszerzeniem) i następnie ze zmiennej kasujemy rozszerzenie i wyświetlamy ta zmienną.

Chciałem zrobić to sam ale nie daje rady i nie moge rozgryźć tego skryptu co znalazłem w manualu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Kod : (z manuala - rename)
  1. <?php
  2.  
  3. function changeext($directory, $ext1, $ext2, $verbose = false) {
  4. $num = 0;
  5. if($curdir = opendir($directory)) {
  6.  while($file = readdir($curdir)) {
  7.  if($file != '.' && $file != '..') {
  8.  
  9.  $srcfile = $directory . '/' . $file;
  10.  $string = "$file";
  11.  $str  = strlen($ext1);
  12.  $str++;
  13.  $newfile = substr($string, 0, -$str);
  14.  $newfile = $newfile.'.'.$ext2;
  15.  $dstfile = $directory . '/' . $newfile;
  16.  
  17.  if (eregi(".$ext1",$file)) { # Look at only files with a pre-defined extension
  18.  $fileHand = fopen($srcfile, 'r');
  19.  fclose($fileHand);
  20.  rename($srcfile, $dstfile );
  21.  }
  22.  
  23.  if(is_dir($srcfile)) {
  24.  $num += changeext($srcfile, $ext1, $ext2, $verbose);
  25.  }
  26.  }
  27.  }
  28.  closedir($curdir);
  29. }
  30. return $num;
  31. }
  32.  
  33. changeext('dir', 'html', 'php', 'false');
  34.  
  35. ?>


Może ktoś mi napisać jak wyświetlić nazwę pliku bez rozszerzenia ? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
KCG
post
Post #4





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


to rozdziel nazwę pliku explode(); (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Setesh
post
Post #5





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


a jak ? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ok pobawie się jak wrócę do domu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) coś poszukam w manualu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
MiFlo
post
Post #6





Grupa: Zarejestrowani
Postów: 92
Pomógł: 4
Dołączył: 12.09.2006
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


explode()" title="Zobacz w manualu PHP" target="_manual
$nazwa = explode('.',$nazwapliku);
tworzy ci tablice gdzie:
$nazwa[0] to nazwa pliku
$nazwa[1] to rozszeżenie
zakładając że nazwa pliku sklada się TYLKO z jednej kropki ( kropki od rozszerzenia )

Ten post edytował MiFlo 16.05.2007, 15:45:33
Go to the top of the page
+Quote Post
Darti
post
Post #7





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Dla nazw wielokropkowych:
  1. <?php
  2. $nazwa = explode('.',$nazwapliku);
  3. $rozszerzenie = $nazwa[count($nazwapliku)-1];
  4. $nazwapliku = implode('.',array_pop($nazwa));
  5. ?>
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Jezuuu przestańcie z tym explode(), bo istnieje do tego funkcja, która na 100% jest szybsza.
http://pl2.php.net/manual/pl/function.pathinfo.php

Z kolei samo rozszerzenie z pełnej nazwy pliku można otrzymać przez
  1. <?php
  2. $extension=strrchr($filename, '.');
  3. ?>


Pozdrawiam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 08:04