Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jak zmienic wszystkie kropki w nazwie pliku oprocz ostatniej?
Forum PHP.pl > Forum > Przedszkole
webspy
Witam, jak zmienic wszystkie kropki w nazwie pliku oprocz ostatniej? questionmark.gif

Kod
$plik_2 = preg_replace('.', '_', $plik_2);


Mam takie cos ale zmienia wszystko ;/
nospor
liczysz ilosc kropek: http://pl2.php.net/manual/pl/function.substr-count.php
zamieniasz o jeden mniej kropek: http://pl2.php.net/manual/pl/function.str-replace.php

ps: popraw tytul o znacznik zgodnie z zasadami forum przedszkole
webspy
Kombinowałem z tą funkcją ale zamienia mi wszytkie kropki, mogę prosić o konkretny kod jak to zrobić??
Ja dopiero zaczynam zabawę z php więc proszę o wyrozumiałość.
Coś takiego wymyśliłem ale zamienia wszystko, gdzie wstawić ten licznik ile ma zamienić tych kropek??

Kod
<?
$plik_2 = "zd.jecie.jpg";
$ile_kropek = substr_count($plik_2, '.');
$ile_kropek = $ile_kropek - 1;
$plik_2 = str_replace(".", "_", $plik_2); //gdzie wstawić tą zmienną $ile_kropek w funkcję str_replace??
?>
nospor
dostales linka do manuala do konkretnej funckji to mogles chociac doczytac....
str_replace jako ostatni parametr przyjmuje ile ma zmienic.

edit. ups. moj blad, sam nie doczytalem. W ostatnim parametrze zwracana jest liczba ile zmienil. ech, ale wtopa.

edit:
ale ta funkcja:
http://pl2.php.net/manual/pl/function.preg-replace.php
ma juz limit . Wiedzialem ze gdzies jest smile.gif
webspy
ta funcja preg_replace to chyba też nie to ;/
Może mi ktoś pomóc, kombinowałem z tym preg_replace ale to nie dziala tak jak powinno ;/
eh jeszcze pokombinuje .......
Kod
$plik_2 = preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', 1 , $count);

Taki kod zmienia znaki ale ten limit to polega na tym ile znakow ma zamienic przez tym napotkanym.
To są moje początki wiec moze robie cos zle, prosze o wyrozumialosc i z gory dziekuje.
nospor
  1. <?php
  2. $plik_2 = "zd.jecie.jpg";
  3. $ile_kropek = substr_count($plik_2, '.');
  4. $ile_kropek = $ile_kropek - 1;
  5. $plik_2 = preg_replace("/./", "_", $plik_2,$ile_kropek);
  6. echo $plik_2;
  7. ?>

I co tu nie dziala? smile.gif
webspy
A no działa działa biggrin.gif teraz moja wtopa bo nie użyłem "/\./" i mialem samo "."
Jednak dobrze, że trafilem do tego przedszkola bo z tą wiedzą to tylko tam winksmiley.jpg

Dziękuję i 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.