Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zmiana rozszerzenia z .php na nic
Forum PHP.pl > Forum > Przedszkole
Setesh
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ć 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 ?
Darti
Rozszerzenie nie jest traktowane oddzielnie. Nazwa pliku to całość (nazwa + rozszerzenie).
Skorzystaj z Rename
Setesh
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 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 ? sad.gif
KCG
to rozdziel nazwę pliku explode(); smile.gif
Setesh
a jak ? sad.gif ok pobawie się jak wrócę do domu smile.gif coś poszukam w manualu biggrin.gif
MiFlo
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 )
Darti
Dla nazw wielokropkowych:
  1. <?php
  2. $nazwa = explode('.',$nazwapliku);
  3. $rozszerzenie = $nazwa[count($nazwapliku)-1];
  4. $nazwapliku = implode('.',array_pop($nazwa));
  5. ?>
Cysiaczek
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.