Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Iniciały - jak to ugryźć ?
kiler129
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Więc zostałem wyznaczony do zrobienia części technicznej konkursu hisotryczmego. Ma to byc konkurs przez internet.
Ale do żeczy mam taki problem że w zmiennej $imie i w zmiennej $nazwisko przechowuje imię i nazwisko uczwstnika.
Problem jest taki że nie wiem jak zrobic coś takiego ze jeśli $imie=Jaś a $nazwisko=Kowalski to abym otrzymał w zmiennej $i=JK czyli jego iniciały.
Jest to wykonalne ?

Ten post edytował kiler129 16.01.2007, 15:09:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dzieki temu:
http://pl.php.net/manual/pl/function.substr.php
mozesz pobrac pierwszą litere stringu. No to juz chyba wszystko wiesz?

proszę poprawić tytuł o znacznik zgodnie z zasadami forum Przedszkole:
Temat: Tematyka i zasady panujace na forum Przedszkole
Go to the top of the page
+Quote Post
Dandelion
post
Post #3





Grupa: Zarejestrowani
Postów: 169
Pomógł: 0
Dołączył: 27.01.2006

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


mozesz sie do stringow odwolywac jak do tablicy.

zeby to latwo zrozumiec podam przyklad z pascala

zmienna imie przechowuje imie zalozmy pawel

uzycie imie[1] wyswietli nam pierwsza litere czyli p

robisz to samo z nazwiskiem i masz inicjaly

Ten post edytował Dandelion 16.01.2007, 15:00:25
Go to the top of the page
+Quote Post
kiler129
post
Post #4





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Dzięki wam obu , jesteście poprostu świetni (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Napeno jeszcze nie jedno pytanie zadam (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Temat można zamknąć, użyłem drugiego sposobu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Aha, numeracje zacynamy od 0 a nie od 1 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Powinno być $imie[0]

Ten post edytował kiler129 16.01.2007, 15:16:00
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
użyłem drugiego sposobu
drugi sposob jest przestarzaly. zamiast [] uzywaj {}
http://pl.php.net/manual/pl/language.types.string.php
Cytat
Dostęp do pojedynczego znaku łańcucha jest możliwy po podaniu jego indeksu (ofsetu) w nawiasach klamrowych, zaraz po nazwie zmiennej. Pierwszy znak w łańcuchu ma indeks zero.

Notatka: Dla zachowania kompatybilności wstecznej, nadal można używać nawiasów kwadratowych, jednak składnia ta w php 4 uznana jest za przestarzałą.
Go to the top of the page
+Quote Post
kiler129
post
Post #6





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


A jeszcze jedno pytanie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Czy da się zrobić w php że skrypt bierze wszystkie pliki z katalogu ../ID i następnie wszystkie skleja ?
Tzn. mam np tak:

ZKGI23A.dat
Zosia!Kowalska!GI2!3a!

SKSP106C99.dat
stas!kowalski!sp10!6c!

i takich więcej ....

I chciałbym aby skrypt skleił mi to wszystko w takie coś:

Zosia!Kowalska!GI2!3a!
stas!kowalski!sp10!6c!

itd....


Wykonalne ?
Go to the top of the page
+Quote Post
Strzałek
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Dla PHP5, pisane na szybko, nie wiem czy działa.

  1. <?php
  2.  
  3.  $wszystkieWpisy = '';
  4.  foreach(new DirectoryIterator('../ID') as $file){
  5. if(!$file -> isDir()){
  6.  $wszystkieWpisy .= file_get_contents($file -> getPathname());
  7. }
  8.  }
  9.  
  10.  //Mamy zawartość w zmiennej. Możemy zrobić z nią co chcemy. Wrzucić do plik, wysła
    ć do bazy danych, puścić mailem, wydrukować albo skasować ;)
  11.  
  12.  //Zapiszmy sobie do pliku wszystkie_wpisy.dat
  13.  file_put_contents('wszystkie_wpisy.dat', $wszystkieWpisy);
  14.  
  15. ?>



Potraktuj to raczej jako wędkę niż rybę. Przykładowy kod który ma Cię naprowadzić na tory. Dużoooo mu brakuje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Chociażby by tego żeby przeglądał pliki .dat, bo jak w tych folderach będą obrazki to wszystko się "wykrzczy" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam.
PS: Jak używasz PHP4... to zacznij używać 5 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Najwyższy czas.
Go to the top of the page
+Quote Post
kiler129
post
Post #8





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Ohh dzięki, działa ale nie do końca tak jak chce

Otrzymuje cos takiego:
Małgosia,Kowalska,SP3,5a,Jaś,Novak,SP10,6a

Co prawda nie dopisałem wyników do nowych id bo mi się nie chciało ale jak zrobić że każdy nowy plik to nowa linia ?
Chodzi o to że chcę to zaimportować do excela puxniej i ustawić jako podził kolumn przecinek.
Ale żeby excel uznał koleny wiersz to musi być tak:

Małgosia,Kowalska,SP3,5a,
Jaś,Novak,SP10,6a,

Nie może wierszy rozdzilac żadne <br> ani /n tylko enter => Mógł byś przerobić swój skrypt ?

Jest w nim co prawda jeszce jeden błędzik - wpisuje sam siebie do pliku ale to żaden problem, najważnejsze to co wyżej.
Go to the top of the page
+Quote Post
sebik
post
Post #9





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.01.2007

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


jaki enter? wydaje mi sie ze enter wprowadza znak /n
Go to the top of the page
+Quote Post
Strzałek
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Enter (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Mówisz o klawiszu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ? Wstawienie br nic nie daje. Dalczego? Bo br to przecież html. Nasz problem rozwiązuje \n, lub \r\n.
Już sam nie pamiętam, niech to ktoś skoryguje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Takie coś powinno zadziałać:
  1. <?php
  2. $wszystkieWpisy .= file_get_contents($file -> getPathname())."n";
  3. ?>


I jeszcze raz zachęcam. Poczuć się tego kodu. Tzn. co jak i dlaczego. Co to jest DirectoryIterator, dlaczego dalem to do foreacha etc. Pojmij istotę działania, a będziesz miał kolejny level wyżej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Niczym postać mojego brata w Warcraft (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
kiler129
post
Post #11





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Nie działa (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Zwraca coś takeigo do pliku:

  1. Imie1,Nazwisko1,SP1,1a,2/6,33.3333333333%,
  2. <?php
  3.  
  4.  $wszystkieWpisy = '';
  5.  foreach(new DirectoryIterator('../ID') as $file){
  6. if(!$file -> isDir()){
  7.  $wszystkieWpisy .= file_get_contents($file -> getPathname())."n";
  8. }
  9.  }
  10.  
  11.  //Mamy zawartość w zmiennej. Możemy zrobić z nią co chcemy. Wrzucić do plik, wysłać do bazy danych, puścić mailem, wydrukować albo skasować ;)
  12.  
  13.  //Zapiszmy sobie do pliku wszystkie_wpisy.dat
  14.  file_put_contents('wszystkie_wpisy.dat', $wszystkieWpisy);
  15.  
  16. ?>
  17. Imie2,Nazwisko2,SP2,2a,3/6,50%,
  18. Imie3,Nazwisko3,SP3,4a,1/6,16.6666666667%,



edit: (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Działa, tylko coś notatnik swiksował (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
A da się jakoś zrobić aby wykluczyć lista.php ?

Ten post edytował kiler129 17.01.2007, 17:33:23
Go to the top of the page
+Quote Post
Strzałek
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


to może po prostu nasz kod będzie czytał tylko pliki *.dat (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ?

W pętli foreach trzeba dodatkowo sprawdzić rozszerzenie pliku. Np. tak:

  1. <?php
  2. if(!$file -> isDir() && eregi('.dat', $file->getFilename()){
  3. ?>



(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
kiler129
post
Post #13





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Jesteś geniuszem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Masz u mnie browara (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Znasz się na JS ? => Temat: js Sekundnik minutnik
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: 23.08.2025 - 17:02