www.WebTips.pl: Imieniny na stronie WWW - www.WebTips.pl

Skocz do zawartości

Strona 1 z 1
  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć

Imieniny na stronie WWW ...czyli jak udoskonalić naszą strone

#1 Użytkownik nie jest zalogowany   mwrona 

  • Nowicjusz
  • Grupa Użytkownik
  • Postów 5
  • Rejestracja 23 lut 08

Napisano 26 maj 2008 - 15:37

Witam. W moim kolejnym tutorialu chciałbym przedstawić wszystkim prosty sposób na zrobienie mechanizmu, który pozwala wyświetlać solenizantów danego dnia. Skrypt jest dosyć prosty, korzysta z pliku tekstowego. Ok, zabieramy się do pracy!


Aby korzystać ze skryptu potrzebujesz serwer z obsługą PHP.

Na początku należy znaleźć w sieci listę imienin na każdy dzień... jest tego dosyć sporo, do szukania polecam wyszukiwarkę google.pl

Teraz zebrane dane dotyczące imienin musi w odpowiedni sposób uporządkować.

Tworzymy katalog imieniny i w nim zamieszczamy 12 plików (bo tyle miesięcy). Przykładowo zawartość pliku 1.txt (styczeń) powinna wyglądać tak:
Marii, Mieczysława, Mieszka, Odyseusza
Bazylego, Izydora, Makarego
Arletty, Danuty, Genowefy
Angeliki, Anieli, Eugeniusza, Tytusa
Amaty, Emiliany, Hanny, Telesfora
Baltazara, Kacpra, Kaspra, Melchiora, Normana
Juliana, Lucjana, Oriany, Rajmunda
Erharda, Mscisława, Seweryna
Bołymierza, Marceliny, Marcjanny, Władymira
Agatona, Kolombiny, Wilhelma
Honoraty, Krzesimira, Matyldy, Teodozjusza, Tezeusza
Arkadiusza, Czesławy, Grety, Tycjany
Bogumiły, Lwa, Weroniki
Feliksa, Hilarego
Arnolda, Dobrawy, Domosława, Maura, Paw�a
Marcela, Marcelego, Włodzimierza
Antoniego, Roscislawa
Małgorzaty, Piotra
Gildy, Henryka, Mariusza, Pii
Fabiana, Sebastiana
Agnieszki, Epifaniego, Inez, Jarosławy
Anastazego, Dorian, Gaudentego, Wincentego
Ildefonsa, Rajmunda
Felicji, Franciszka, Mileny, Tymoteusza
Miłosza, Pawła, Tatiany, Witaliana
Pauli, Polikarpa, Tymoteusza, Tytusa
Angelii, Przybysława, Przybysławy
Radomira, Tomasza, Walerego, Waleriusza
Franciszka, Ismeny, Salazego, Walerego, Zdzisława
Dobiegniewa, Hiacynty, Macieja, Martyny
Cyrusa, Jana, Ludwiki, Marceli

W ten sposób postępujemy z każdym miesiącem, czyli 2.txt - Luty, 3.txt - marzec itp...

Pamiętaj, żeby nie robić żadnych odstępów między liniami (entery, akapity). Powyżej podany listing jest wzorcem :D

Jeśli przygotowałeś już sobie bazę imienin możemy zabrać się do pracy nad skryptem :)

Oto listing pliku imieniny.php, wyjaśnienia poniżej:



<?php


function Imieniny($dzien,$miesiac) 
{

for($i;$i<12;$i++)
	{
	if($miesiac == $i) $nr = $i;  //petla sprawdzajaca miesiąc i przypisująca mu numer pliku :)

	}

	$plik = file('imieniny/'.$nr.'.txt') //ladujemy plik
	or die('Brakuje pliku !');

	$imieniny = $plik[$dzien-1];
	 
	return $imieniny; //zwracana wartosc
} //koniec funkcji


/*wywolanie funkcji, czyli jej uzycie:) */

$dzien = date('d');  //wyciagamy dzien z daty
$miesiac = date('m'); //wyciagamy miesiac z daty

echo Imieniny($dzien,$miesiac);

?>


Teraz czas na trochę objaśnień...

Jak widzisz funkcja przyjmuje dwa argumenty, dzień danego miesiąca oraz miesiąc. Następnie pętla sprawdza który
plik ma załadować.. jeśli miesiąc jest 1 to plik 1.txt, jeśli 2 to plik 2.txt i tak dalej...
Użyta w kodzie funkcja http://pl.php.net/file pozwala wczytać całą zawartość pliku to tablicy, tak, że możemy odczytywać kolejne linijki pliku tekstowego jako elementy tablicy... jako, że PHP numeruje tablice od 0, więc widzisz użyte:
$imieniny = $plik[$dzien-1];
.

Myślę, że skrypt jest na tyle prosty, że nie ma tutaj więcej co objaśniać. Skrypt można używać dowolnie, rozpowszechniać, modyfikować. Będę się cieszył, jeśli zostanie wykorzystany przez kogoś.

Pozdrawiam, MW.
0


Strona 1 z 1
  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć

Odpowiedzi do tego tematu

#2 Użytkownik nie jest zalogowany   frytek92 

  • Junior
  • Pip
  • Grupa Użytkownik
  • Postów 58
  • Rejestracja 04 maj 07

Napisano 28 maj 2008 - 12:42

Wielki podziw naprawde :) chociarz dane mogły by byc przetrzymywane w bazie danych mysql ale z txt jest prosciej
0

#3 Użytkownik nie jest zalogowany   Kukis 

  • Tech economist. (specialty banking) [progress 30%]
  • PipPipPipPipPipPip
  • Grupa Użytkownik
  • Postów 1893
  • Rejestracja 29 wrz 06
  • MiejscowośćToruń

Napisano 28 maj 2008 - 15:17

No i gdyby była gotowa baza :)
Szukasz darmowej listy wartościowych katalogów stron? Masz katalog stron warty uwagi? Zobacz to. :)
---------------------------------------------------------------------------------------------------------------------
Dodaj swoją stronę do katalogów KatalogGD.pl i gKatalog.pl
0

#4 Użytkownik nie jest zalogowany   Andrzej Aleksiejuk 

  • Nowicjusz
  • Grupa Zablokowany
  • Postów 18
  • Rejestracja 23 lip 07

Napisano 31 maj 2008 - 18:23

Ja przechowuję imieniny w bazie. A ten skrypt jest IMHO nieoptymalny. Ta pętla w funkcji jest niepotrzebna.
0

#5 Użytkownik nie jest zalogowany   mwrona 

  • Nowicjusz
  • Grupa Użytkownik
  • Postów 5
  • Rejestracja 23 lut 08

Napisano 01 czerwiec 2008 - 17:15

Ciesze się, że podjąłeś krytykę, niemniej uważam, iż główną zaletą tego skryptu jest właśnie to, że nie jest on oparty o bazę danych.

Gdyby to było na MySQL to musielibyśmy mieć tabelę i w niej pola:
-id
-imieniny
-data

i pobierać dane z bazy z warunkiem dla daty.


Przy plikach nie ma tyle pracy i wystarczy wrzucić to na serwer i śmiga. Poza tym nie każdy ma dostęp do bazy więc znów plus dla plików.

Pozdrawiam.
0

#6 Użytkownik nie jest zalogowany   Armageddon 

  • My Work Is My Love
  • PipPipPipPip
  • Grupa Użytkownik
  • Postów 616
  • Rejestracja 29 sty 07
  • MiejscowośćChrzanów

Napisano 03 czerwiec 2008 - 21:30

Wyświetl postUżytkownik mwrona dnia Jun 1 2008, 04:15 PM napisał

Przy plikach nie ma tyle pracy i wystarczy wrzucić to na serwer i śmiga. Poza tym nie każdy ma dostęp do bazy więc znów plus dla plików.


Nie sądzę. W dzisiejszych czasach serwer bez DB nie istnieje (w sensie, że nie ma sznsy zaistnieć) i jest ich tyle, co kot napłakał, a poza tym szybciej zostanie wysłane zapytanie do bazy niż pobranie pliku.

I'm now known as "EXOTHER".
Arma - go out ;)
0

#7 Użytkownik nie jest zalogowany   codecalm 

  • PHP Master
  • PipPipPipPipPipPip
  • Grupa Użytkownik
  • Postów 1752
  • Rejestracja 01 cze 06
  • MiejscowośćŁodygowice, Bielsko-Biała

Napisano 03 czerwiec 2008 - 21:59

ale imo bazy danych maja uzycie jezeli sie z nich czyta jak i edytuje. w tym wypadku w zupelności to wystarecza :]
0

#8 Użytkownik nie jest zalogowany   boruspl 

  • Nowicjusz
  • Grupa Użytkownik
  • Postów 1
  • Rejestracja 30 gru 09

Napisano 30 grudzień 2009 - 23:18

Wyświetl postUżytkownik mwrona dnia 26 maj 2008 - 15:37 napisał

Witam. W moim kolejnym tutorialu chciałbym przedstawić wszystkim prosty sposób na zrobienie mechanizmu, który pozwala wyświetlać solenizantów danego dnia. Skrypt jest dosyć prosty, korzysta z pliku tekstowego. Ok, zabieramy się do pracy!


Aby korzystać ze skryptu potrzebujesz serwer z obsługą PHP.

Na początku należy znaleźć w sieci listę imienin na każdy dzień... jest tego dosyć sporo, do szukania polecam wyszukiwarkę google.pl

Teraz zebrane dane dotyczące imienin musi w odpowiedni sposób uporządkować.

Tworzymy katalog imieniny i w nim zamieszczamy 12 plików (bo tyle miesięcy). Przykładowo zawartość pliku 1.txt (styczeń) powinna wyglądać tak:
Marii, Mieczysława, Mieszka, Odyseusza
Bazylego, Izydora, Makarego
Arletty, Danuty, Genowefy
Angeliki, Anieli, Eugeniusza, Tytusa
Amaty, Emiliany, Hanny, Telesfora
Baltazara, Kacpra, Kaspra, Melchiora, Normana
Juliana, Lucjana, Oriany, Rajmunda
Erharda, Mscisława, Seweryna
Bołymierza, Marceliny, Marcjanny, Władymira
Agatona, Kolombiny, Wilhelma
Honoraty, Krzesimira, Matyldy, Teodozjusza, Tezeusza
Arkadiusza, Czesławy, Grety, Tycjany
Bogumiły, Lwa, Weroniki
Feliksa, Hilarego
Arnolda, Dobrawy, Domosława, Maura, Paw�a
Marcela, Marcelego, Włodzimierza
Antoniego, Roscislawa
Małgorzaty, Piotra
Gildy, Henryka, Mariusza, Pii
Fabiana, Sebastiana
Agnieszki, Epifaniego, Inez, Jarosławy
Anastazego, Dorian, Gaudentego, Wincentego
Ildefonsa, Rajmunda
Felicji, Franciszka, Mileny, Tymoteusza
Miłosza, Pawła, Tatiany, Witaliana
Pauli, Polikarpa, Tymoteusza, Tytusa
Angelii, Przybysława, Przybysławy
Radomira, Tomasza, Walerego, Waleriusza
Franciszka, Ismeny, Salazego, Walerego, Zdzisława
Dobiegniewa, Hiacynty, Macieja, Martyny
Cyrusa, Jana, Ludwiki, Marceli

W ten sposób postępujemy z każdym miesiącem, czyli 2.txt - Luty, 3.txt - marzec itp...

Pamiętaj, żeby nie robić żadnych odstępów między liniami (entery, akapity). Powyżej podany listing jest wzorcem :D

Jeśli przygotowałeś już sobie bazę imienin możemy zabrać się do pracy nad skryptem :)

Oto listing pliku imieniny.php, wyjaśnienia poniżej:



<?php


function Imieniny($dzien,$miesiac) 
{

for($i;$i<12;$i++)
	{
	if($miesiac == $i) $nr = $i;  //petla sprawdzajaca miesiąc i przypisująca mu numer pliku :)

	}

	$plik = file('imieniny/'.$nr.'.txt') //ladujemy plik
	or die('Brakuje pliku !');

	$imieniny = $plik[$dzien-1];
	 
	return $imieniny; //zwracana wartosc
} //koniec funkcji


/*wywolanie funkcji, czyli jej uzycie:) */

$dzien = date('d');  //wyciagamy dzien z daty
$miesiac = date('m'); //wyciagamy miesiac z daty

echo Imieniny($dzien,$miesiac);

?>


Teraz czas na trochę objaśnień...

Jak widzisz funkcja przyjmuje dwa argumenty, dzień danego miesiąca oraz miesiąc. Następnie pętla sprawdza który
plik ma załadować.. jeśli miesiąc jest 1 to plik 1.txt, jeśli 2 to plik 2.txt i tak dalej...
Użyta w kodzie funkcja http://pl.php.net/file pozwala wczytać całą zawartość pliku to tablicy, tak, że możemy odczytywać kolejne linijki pliku tekstowego jako elementy tablicy... jako, że PHP numeruje tablice od 0, więc widzisz użyte:
$imieniny = $plik[$dzien-1];
.

Myślę, że skrypt jest na tyle prosty, że nie ma tutaj więcej co objaśniać. Skrypt można używać dowolnie, rozpowszechniać, modyfikować. Będę się cieszył, jeśli zostanie wykorzystany przez kogoś.

Pozdrawiam, MW.

Witam, Znalazłem tą informację, zrobiłem wszystko jak opisałeś i nie mogę sobie poradzić.
Proszę o pomoc!!!
Po wywołaniu strony mam zapis:

Warning: file(imieniny/.txt) [function.file]: failed to open stream: No such file or directory in /home/julia/public/asia/proba/strona.php on line 14
Brakuje pliku !Pozdrawiam i Szczęśliwego Nowego Roku 2010 życzę
0

Strona 1 z 1
  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych