Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z automatycznym tworzeniem php, Automatyczne tworzenie pliku php pobierającego dane z pliku txt
bolek1
post 14.07.2009, 11:55:41
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.07.2009

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


Witam,
przy tworzeniu prostego forum dyskusyjnego do swoich potrzeb już na początku napotkałem na problem, a mianowicie jak zrobić, by do każdego nowo dodanego tematu tworzył się nowy plik php. Napisałem skrypt, który tworzy plik txt, a następnie odczytuje nazwy plików - tematów txt z katalogu i wyświetla je na stronie. Teraz chciałbym, aby automatycznie tworzyły się pliki php, które otwierały by te tematy z txt i były wyświetlane w formie linków.

Zamieszczam kod odpowiedzialny za wyświetlanie tematów:

  1. <b>Ostatnio założone tematy:</b>
  2. <p>
  3. <? //odczytywanie zawartosci - tematy
  4. $tab=glob("./*.txt"); // odczytuje nazwy plikow - tematow
  5.  
  6. foreach($tab as $tab1)
  7. {
  8.  
  9. echo "<li><a href=\"/$tab1\">$tab1</a></li>";
  10. $tab1 = str_replace('.txt', '', $tab1); // odczytywanie bez rozszerzenia
  11. echo '<br />';
  12. }
  13. ?>
  14. </p>
  15. <b>Nowy temat:</b>
  16. <p>
  17. <form method="post">
  18. <input type="text" name="title"><br>
  19. <textarea name="tresc"></textarea><br>
  20. <input type="submit">
  21. </form>
  22. </p>
  23.  
  24. <? // zakladanie nowego tematu
  25.  
  26. $title = $_POST["title"];
  27. $plik = fopen("$title.txt", 'w');
  28. $tresc = $_POST["tresc"];
  29. fwrite($plik, $tresc);
  30. fclose($plik);
  31. ?>


A tu skrypt (znalazłem i zmodyfikowałem), który powinien uruchamiać się po kliknięciu w link - temat. Powinien on odpowiadać za dopisywanie postów do pliku tekstowego.

  1. <?php
  2. /*********************************************
  3. * plik podglad.php
  4. *********************************************/
  5.  
  6. // wczytanie zawartości pliku do tablicy
  7. $file = file("baza.txt"); //tutaj powinie byc plik txt z nazwa tematu
  8. // przechodzimy przez tablicę za pomocą pętli foreach
  9. foreach($file as $value) {
  10. // rozbijamy poszczególne linie na części
  11. $exp = explode("`",$value);
  12. // wyświetlamy rozbity tekst
  13. echo $exp[0]."<br />".$exp[1]."<hr />";
  14. }
  15.  
  16. ?>
  17.  
  18. <center><?php
  19.  
  20.  
  21. $pole1 = trim($_POST['pole1']);
  22. $pole2 = trim($_POST['pole2']);
  23.  
  24. if(empty($pole1) and empty($pole2)) {
  25.  
  26.  
  27. echo '<form action="" method="post">
  28. Temat:<input type="text" name="pole1" style="width: 300px;" /><br />
  29. Tresc: <textarea name="pole2" style="width: 300px; height: 100px;">
  30. </textarea><br />
  31. <input type="submit" value="Zapisz" />
  32. </form>';
  33. }
  34. else {
  35.  
  36.    
  37.    $dane = $pole1."`".$pole2."\n";
  38.    
  39.    $file = "baza.txt"; // tutaj powinien byc plik txt z nazwa tematu
  40.    
  41.    $fp = fopen($file, "a");
  42.    
  43.    flock($fp, 2);
  44.  
  45.    fwrite($fp, $dane);
  46.    
  47.    flock($fp, 3);
  48.    
  49.    fclose($fp);
  50.  
  51.    echo "Dane zostaly zapisane!<br />";
  52.    echo "<a href=\"forum.php\">Zobacz swój post</a>";
  53. }
  54.  
  55. ?></center>


Ten post edytował bolek1 14.07.2009, 12:00:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
erix
post 14.07.2009, 15:27:24
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




I w czym problem?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bolek1
post 14.07.2009, 18:53:51
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.07.2009

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


Nie wiem jak te dwa skrypty połączyć tak, aby po kliknięciu w link - nowy temat otwierał mi się on na nowej podstronie, na której będzie ten drugi kod PHP.

Jejciu trudno to wytłumaczyć ....

Chodzi mi o to,by do pliku txt tworzył się również plik php, w którym będą dane pobrane z txt.
Go to the top of the page
+Quote Post
erix
post 14.07.2009, 19:26:30
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Czemu utrudniasz sobie życie...?

Nie możesz jednym skryptem całego forum obsługiwać?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Fifi209
post 15.07.2009, 12:21:39
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


W ogóle pisanie forum na plikach tekstowych nie jest dobrym pomysłem.
Wydajność, miejsce, etc. etc.

Lepiej weź kurs php do ręki, przejdź do baz danych i potem pisz forum.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
bolek1
post 15.07.2009, 13:48:56
Post #6





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.07.2009

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


Po pierwsze jest to niewielkie forum i ilość zajmowanego przez pliki miejsca nie gra roli po drugie cały serwis napisany jest na bazie tekstowej, więc nie widzę zbytniego sensu, by forum miałoby być inaczej zrobione.

Wracając do tematu ...

Czy ktoś zrozumiał o co mi chodzi ? wstydnis.gif
Go to the top of the page
+Quote Post
Fifi209
post 15.07.2009, 13:55:01
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(bolek1 @ 15.07.2009, 13:48:56 ) *
Po pierwsze jest to niewielkie forum i ilość zajmowanego przez pliki miejsca nie gra roli po drugie cały serwis napisany jest na bazie tekstowej, więc nie widzę zbytniego sensu, by forum miałoby być inaczej zrobione.

Wielkość tutaj nie ma znaczenia, a lepiej jest mieć dobre nawyki.

Cytat(bolek1 @ 15.07.2009, 13:48:56 ) *
Wracając do tematu ...

Czy ktoś zrozumiał o co mi chodzi ? wstydnis.gif


Po temacie i kawałku tekstu myślę, że plik php chcesz utworzyć, tylko nie wiem w czym problem?

Robisz file_put_contents" title="Zobacz w manualu PHP" target="_manual albo fopen" title="Zobacz w manualu PHP" target="_manual + fwrite" title="Zobacz w manualu PHP" target="_manual


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
bolek1
post 15.07.2009, 14:11:37
Post #8





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.07.2009

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


To oczywiście wiem, ale chodzi mi o to, by był jeden plik php, którego zawartość byłaby wykorzystywana do każdego nowo utworzonego tematu i potrzebuję właśnie kod, który będzie uruchamiał plik tekstowy z tematem i wyświetlał go na nowej stronie...
Go to the top of the page
+Quote Post
Fifi209
post 15.07.2009, 14:18:55
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(bolek1 @ 15.07.2009, 14:11:37 ) *
To oczywiście wiem, ale chodzi mi o to, by był jeden plik php, którego zawartość byłaby wykorzystywana do każdego nowo utworzonego tematu i potrzebuję właśnie kod, który będzie uruchamiał plik tekstowy z tematem i wyświetlał go na nowej stronie...


To zrób taki, pobieraj z get'a nazwę tytułu, potem skryptem odczytuj plik o nazwie podanej w get'cie i tyle? tongue.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
bolek1
post 17.07.2009, 11:24:38
Post #10





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.07.2009

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


Cytat
To zrób taki, pobieraj z get'a nazwę tytułu, potem skryptem odczytuj plik o nazwie podanej w get'cie i tyle? tongue.gif


Spróbuję coś zakodzić.

Mam jeszcze jedno pytanko odnośnie pierwszego skryptu. Dlaczego funkcja umieszczona do usuwania rozszerzenia mi nie działa : $tab1 = str_replace('.txt', '', $tab1); ?
Go to the top of the page
+Quote Post
erix
post 17.07.2009, 12:05:49
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Bo pomyliłeś kolejność. tongue.gif

Kod się wykonuje od góry do dołu, a nie na odwrót. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:26